AskTable
免费试用

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

AskTable 团队
AskTable 团队 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

无需编程,用自然语言提问,AI 自动生成 SQL 查询和可视化图表。立即免费试用 AskTable,体验 AI 驱动的数据分析。

cta.noCreditCard
cta.quickStart
cta.dbSupport