AskTable
sidebar.freeTrial

AskTable Canvas 使用指南:构建强大的数据分析工作流

AskTable Team
AskTable Team 2026-03-08

Canvas 是 AskTable 的核心功能,它让数据分析从线性对话变成了非线性的思维建模。本文将全面介绍 Canvas 的使用方法。


一、什么是 Canvas?

1. Canvas 的概念

Canvas(画布) 是一个可视化的数据分析工作区,你可以在上面:

  • 创建多个分析节点
  • 建立节点之间的依赖关系
  • 并行执行多个分析任务
  • 组织和管理分析流程

2. 为什么需要 Canvas?

传统对话式分析的局限

  • ❌ 线性流程,无法并行
  • ❌ 上下文容易丢失
  • ❌ 难以管理复杂分析
  • ❌ 无法复用中间结果

Canvas 的优势

  • ✅ 非线性思维建模
  • ✅ 可视化依赖关系
  • ✅ 并行执行任务
  • ✅ 复用中间结果
  • ✅ 团队协作

3. Canvas vs 对话

加载图表中...

二、Canvas 核心概念

1. 节点(Node)

节点是 Canvas 中的基本单元,每个节点执行一个特定的任务。

节点类型

  • Data Node:数据查询节点
  • Chart Node:图表可视化节点
  • Python Node:Python 代码执行节点
  • Excel Node:Excel 导入导出节点
  • Web Search Node:网络搜索节点

2. 依赖关系

节点之间可以建立依赖关系

  • 子节点依赖父节点的输出
  • 父节点执行完成后,子节点才能执行
  • 支持多个父节点

示例

Data Node (查询订单数据)
  ├─> Chart Node (销售趋势图)
  ├─> Chart Node (地区分布图)
  └─> Python Node (计算增长率)
        └─> Chart Node (增长率图表)

3. 数据流

数据在节点之间流动

  • Data Node 输出 DataFrame
  • Chart Node 接收 DataFrame,生成图表
  • Python Node 接收 DataFrame,执行代码,输出新的 DataFrame

三、节点类型详解

1. Data Node(数据节点)

功能:查询数据库,返回数据

使用方法

  1. 创建 Data Node
  2. 输入自然语言查询
  3. AI 生成 SQL
  4. 执行查询
  5. 返回数据表格

示例

输入:"查询最近 30 天的订单数据"

生成 SQL:
SELECT * FROM orders
WHERE created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY)

输出:DataFrame(订单数据)

高级用法

  • 查看生成的 SQL
  • 手动修改 SQL
  • 设置查询参数
  • 限制返回行数

2. Chart Node(图表节点)

功能:将数据可视化为图表

支持的图表类型

  • 折线图(Line Chart)
  • 柱状图(Bar Chart)
  • 饼图(Pie Chart)
  • 散点图(Scatter Chart)
  • 面积图(Area Chart)
  • 表格(Table)

使用方法

  1. 创建 Chart Node
  2. 连接到 Data Node
  3. 描述想要的图表
  4. AI 自动生成图表配置
  5. 查看图表

示例

输入:"绘制销售额趋势图"

AI 配置:
- 图表类型:折线图
- X 轴:日期
- Y 轴:销售额
- 标题:销售额趋势

输出:折线图

自定义选项

  • 修改图表类型
  • 调整颜色主题
  • 设置坐标轴
  • 添加数据标签

3. Python Node(Python 节点)

功能:执行 Python 代码,处理数据

使用场景

  • 复杂的数据处理
  • 自定义计算
  • 数据清洗
  • 统计分析

使用方法

  1. 创建 Python Node
  2. 连接到 Data Node
  3. 描述要执行的操作
  4. AI 生成 Python 代码
  5. 执行代码
  6. 返回结果

示例

输入:"计算每个月的环比增长率"

生成代码:
import pandas as pd

# 输入数据
df = input_data

# 按月分组
monthly = df.groupby(df['date'].dt.to_period('M'))['amount'].sum()

# 计算环比增长率
growth_rate = monthly.pct_change() * 100

# 输出结果
output_data = pd.DataFrame({
    'month': monthly.index.astype(str),
    'amount': monthly.values,
    'growth_rate': growth_rate.values
})

可用的库

  • pandas:数据处理
  • numpy:数值计算
  • matplotlib:绘图
  • scikit-learn:机器学习

4. Excel Node(Excel 节点)

功能:导入或导出 Excel 文件

导入 Excel

  1. 创建 Excel Node
  2. 上传 Excel 文件
  3. 选择工作表
  4. 预览数据
  5. 导入为 DataFrame

导出 Excel

  1. 创建 Excel Node
  2. 连接到 Data Node
  3. 配置导出选项
  4. 下载 Excel 文件

5. Web Search Node(网络搜索节点)

功能:搜索网络信息

使用场景

  • 获取实时信息
  • 补充外部数据
  • 市场调研

示例

输入:"搜索 iPhone 15 的最新价格"

输出:搜索结果摘要

四、实战案例

案例 1:销售数据分析

目标:分析最近 3 个月的销售情况

步骤

1. 创建 Data Node - 查询订单数据

输入:"查询最近 3 个月的订单数据,包括日期、金额、地区"

2. 创建 Chart Node - 销售趋势

连接到 Data Node
输入:"绘制每日销售额趋势图"

3. 创建 Chart Node - 地区分布

连接到 Data Node
输入:"绘制各地区销售额饼图"

4. 创建 Python Node - 计算增长率

连接到 Data Node
输入:"计算每周的环比增长率"

5. 创建 Chart Node - 增长率图表

连接到 Python Node
输入:"绘制增长率柱状图"

最终效果

Data Node (订单数据)
  ├─> Chart Node (销售趋势图)
  ├─> Chart Node (地区分布图)
  └─> Python Node (计算增长率)
        └─> Chart Node (增长率图表)

案例 2:用户行为分析

目标:分析用户活跃度和留存率

步骤

1. 查询用户登录数据

Data Node: "查询最近 30 天的用户登录记录"

2. 计算日活用户

Python Node: "计算每天的活跃用户数"

3. 绘制日活趋势

Chart Node: "绘制日活用户趋势图"

4. 计算留存率

Python Node: "计算 1 日留存率、7 日留存率、30 日留存率"

5. 展示留存数据

Chart Node: "绘制留存率表格"

案例 3:财务报表生成

目标:生成月度财务报表

步骤

1. 查询收入数据

Data Node 1: "查询本月的收入明细"

2. 查询支出数据

Data Node 2: "查询本月的支出明细"

3. 合并计算

Python Node: "合并收入和支出,计算净利润"

4. 生成报表

Chart Node: "生成财务报表表格"

5. 导出 Excel

Excel Node: "导出为 Excel 文件"

五、使用技巧

1. 节点命名

好的命名

  • ✅ "查询订单数据"
  • ✅ "销售趋势图"
  • ✅ "计算增长率"

不好的命名

  • ❌ "Data Node 1"
  • ❌ "Chart"
  • ❌ "Python"

2. 组织结构

从左到右布局

数据源 → 数据处理 → 可视化

从上到下分组

主流程在上方
辅助分析在下方

3. 复用节点

场景:多个图表使用同一份数据

方法

  • 创建一个 Data Node
  • 多个 Chart Node 连接到同一个 Data Node
  • 避免重复查询

4. 调试技巧

查看中间结果

  • 点击节点查看输出数据
  • 检查 SQL 是否正确
  • 验证 Python 代码逻辑

分步执行

  • 先创建 Data Node,验证数据
  • 再创建 Chart Node,验证图表
  • 最后创建 Python Node,验证计算

5. 性能优化

减少数据量

  • 在 SQL 中添加 WHERE 条件
  • 使用 LIMIT 限制行数
  • 只查询需要的字段

避免重复查询

  • 复用 Data Node
  • 使用 Python Node 处理数据
  • 缓存中间结果

六、协作功能

1. 实时协同

多人同时编辑

  • 看到其他人的光标
  • 实时同步节点变化
  • 避免冲突

2. 评论和讨论

添加评论

  • 在节点上添加评论
  • @提及团队成员
  • 讨论分析思路

3. 版本历史

查看历史版本

  • 查看修改记录
  • 恢复到历史版本
  • 对比版本差异

4. 分享和导出

分享 Canvas

  • 生成分享链接
  • 设置访问权限
  • 嵌入到其他系统

导出

  • 导出为 PDF
  • 导出为图片
  • 导出数据为 Excel

七、常见问题

问题 1:节点执行失败

原因

  • SQL 语法错误
  • 数据不存在
  • 权限不足
  • 超时

解决方案

  • 查看错误信息
  • 检查 SQL 语句
  • 验证数据源连接
  • 增加超时时间

问题 2:图表显示异常

原因

  • 数据格式不正确
  • 字段类型不匹配
  • 数据为空

解决方案

  • 检查数据格式
  • 转换字段类型
  • 添加数据验证

问题 3:Python 代码报错

原因

  • 语法错误
  • 库不存在
  • 数据类型错误

解决方案

  • 检查代码语法
  • 使用支持的库
  • 添加类型转换

八、最佳实践

1. Canvas 设计原则

清晰的结构

  • 从左到右的数据流
  • 相关节点放在一起
  • 使用注释说明

合理的粒度

  • 一个节点做一件事
  • 避免过于复杂的节点
  • 适当拆分大节点

可维护性

  • 使用有意义的命名
  • 添加必要的注释
  • 保持代码简洁

2. 性能优化

数据查询

  • 只查询需要的数据
  • 使用索引加速查询
  • 避免全表扫描

节点执行

  • 并行执行独立节点
  • 复用中间结果
  • 缓存常用数据

3. 团队协作

命名规范

  • 统一的命名风格
  • 清晰的节点描述
  • 标准的代码格式

文档化

  • 添加 Canvas 说明
  • 记录关键逻辑
  • 更新变更日志

九、总结

Canvas 是 AskTable 的核心功能,它提供了:

核心能力: ✅ 非线性思维建模 ✅ 可视化依赖关系 ✅ 多种节点类型 ✅ 实时协同编辑

使用场景: ✅ 复杂数据分析 ✅ 多维度对比 ✅ 数据处理流程 ✅ 团队协作分析

最佳实践: ✅ 清晰的结构设计 ✅ 合理的节点粒度 ✅ 性能优化 ✅ 团队协作规范

下一步


相关阅读

技术交流

cta.readyToSimplify

sidebar.noProgrammingNeededsidebar.startFreeTrial

cta.noCreditCard
cta.quickStart
cta.dbSupport