管理ChatBI数据集

更新时间:
复制为 MD 格式

ChatBI中进行交互式会话之前,需要通过数据集来圈定开展分析的数据范围。数据集可以是目标数据源中的数据表,也可以是本地文件。

准备工作

已在使用ChatBI功能的对应地域创建Serverless资源组

适用范围

  • 数据源类型的数据集,仅支持选择Hologres、MaxCompute、StarRocksMySQL类型的数据源。

  • 本地文件类型的数据集,仅支持xlsxlsxcsv格式,且最多上传10个文件,每个文件不超过1GB。

新建数据集

  1. 进入ChatBI功能入口。

    您需要先登录阿里云,然后通过浏览器访问ChatBI智能数据洞察页面。请根据您的DataWorks资源组、数据集等业务所在地域按需选择。

    华东1(杭州)ChatBI入口

    华东2(上海)ChatBI入口

    华南1(深圳)ChatBI入口

    中国香港 ChatBI入口

    西南1(成都)ChatBI入口

    华北2(北京)ChatBI入口

    华北3(张家口)ChatBI入口

    印度尼西亚(雅加达)ChatBI入口

  2. 在页面左侧导航栏单击数据集,进入数据集页面,点击新建数据集

  3. 新建数据集页面,填写数据集相关信息:

    • 数据集类型为数据源

      参数

      描述

      基本信息

      名称

      自定义数据集名称。

      类型

      数据集类型,包括:

      • 数据源

      • 本地文件

      此处选择数据源类型。

      数据源类型

      数据源类型,包括:

      • Hologres

      • MaxCompute

      • StarRocks

      • MySQL

      数据源相关信息

      不同数据源配置参数有差异。

      Hologres为例,需要配置地域Hologres实例数据库名称

      资源组

      选择一个DataWorks Serverless资源组名称,用于在后续会话中使用该资源组访问数据源以进行数据查询。

      测试连通性

      测试目标DataWorks Serverless资源组和当前数据源之间的连通性。

      选择目标表

      选择目标表

      配置完基本信息后,单击下一步,进入选择目标表步骤。

      待选择列表中选中目标数据表,单击image,将其添加至已选择列表中,表示将目标数据表加入当前数据集。

    • 数据集类型是本地文件

      参数

      描述

      基本信息

      名称

      自定义数据集名称。

      类型

      数据集类型,包括:

      • 数据源

      • 本地文件

      此处选择本地文件类型。

      上传本地文件

      上传本地文件时支持xlsxlsxcsv格式,最多上传10个文件,每个文件不超过1GB。

  4. 当完成数据集配置后,点击下一步进入数据洞察步骤,将自动开始对数据集进行扫描,获取数据取值特征,有助于提升会话过程中的分析准确性。

  5. 数据洞察可能耗时较久,您可以直接单击完成,后续可在数据集中查看。

查看数据集

  1. 在页面左侧导航栏单击数据集,进入数据集页面。

  2. 找到目标数据集卡片,单击进入数据集详情页。

  3. 在数据集详情页中,顶部是数据集的基础信息(包括:类型、表/文件数量、创建者),左侧是表/文件列表,右侧是表/文件的基础信息和数据预览(可预览20条数据记录)。

    image

编辑数据集

  1. 在页面左侧导航栏单击数据集,进入数据集页面。

  2. 找到目标数据集卡片,您可以通过两种方式进入数据集编辑页。

    • 鼠标悬停在目标数据集卡片上,在卡片右上角单击image > 编辑

    • 单击目标数据集卡片,进入数据集详情页,在右上角单击编辑按钮。

  3. 修改数据集相关配置。相关参数解释同新建数据集

    说明

    编辑已有数据集配置时,类型、数据源类型不可修改。

  4. 当完成数据集编辑后,点击下一步进入数据洞察,重新对数据集中的数据进行数据洞察。

删除数据集

  1. 在页面左侧导航栏单击数据集,进入数据集页面。

  2. 鼠标悬停在目标数据集卡片上,在卡片右上角单击image > 删除。删除数据集后,相关联的会话和图表均无法正常显示数据。

后续步骤:基于数据集开始会话

  1. 您可以通过如下两种方式基于指定数据集开始会话。

    • 在页面左侧导航栏单击数据集,进入数据集页面。鼠标悬停在目标数据集卡片上,在卡片右上角单击image开始对话。

    • 在页面左侧导航栏单击新建会话,进入ChatBI会话窗口。然后在会话窗口中,单击选择数据集

      image

  2. 进入会话页面,通过输入需求或问题后,即可开始数据分析。详情请参见ChatBI会话

提问技巧

ChatBI 的分析质量与提问方式密切相关。掌握以下提问技巧,可以帮助您获得更精准、更有价值的数据分析结果。

明确分析目标

一个好的分析问题应包含明确的分析对象、度量指标和分析维度。

规范化提问方式(推荐)

非规范表述(需避免)

2025年各月份华东区域销售额趋势

帮我看看销售情况

7天每天新增用户数及其同比增长率

最近用户增长怎么样?

各商品类目 TOP10 退货率及对应退货原因分布

退货多吗?

善用时间和筛选条件

在提问中明确指定时间范围和筛选条件,可以帮助 ChatBI 生成更精确的 SQL,避免不必要的全表扫描。

  • 指定时间范围:例如"2025Q4各产品线的毛利率"比"各产品线毛利率"更精确,能减少查询数据量。

  • 指定筛选维度:例如"华北区域VIP客户的客单价分布"比"客单价是多少"更有针对性。

  • 使用业务术语:提问时使用数据表中的实际字段值或知识库中配置的业务术语,例如使用"status='已完成'"而非"完成了的订单",有助于 ChatBI 精确匹配数据。

分步提问复杂需求

对于复杂的分析需求,建议将其拆分为多个简单问题分步提问,逐步深入分析。

  • 第一步:全局概览:先提出总览性问题,了解整体趋势。例如"2025年各月销售额整体趋势"。

  • 第二步:定位异常:发现异常后,针对性地深入提问。例如"3月份销售额下降的原因,按产品类目拆解"。

  • 第三步:归因分析:对关键发现进行进一步归因。例如"3月份电子产品类目中,哪些子品类的下降幅度最大"。

多轮对话技巧

ChatBI 支持在同一会话中进行多轮连续提问。以下技巧可以帮助您更高效地进行多轮分析。

  • 追问细化:在上一轮结果基础上追问,例如先问"各区域销售额排名",再追问"排名第一的区域按月度的销售额明细"。

  • 修正指令:如果分析结果不符合预期,可以在下一轮明确指出需要调整的部分。例如"上面的分析结果请按季度汇总,而不是按月"或"请排除测试数据,只看正式订单"。

  • 切换可视化:对同一份数据结果,可以要求不同的展示方式。例如"请把上面的数据用饼图展示"或"请按降序排列"。

结果不准确时的处理

当 ChatBI 的分析结果不够准确时,可以从以下几个方面进行优化。

  • 检查目标表匹配:在分析结果的"识别目标表"步骤中确认 ChatBI 是否选择了正确的数据表。如果匹配了错误的表,可以在提问中明确指定表名,例如"基于 ods_order_detail 表分析各品类销售额"。

  • 优化提问表述:使用更精确的业务术语和明确的指标定义重新提问。例如将"活跃用户有多少"改为"近30天有登录行为的去重用户数"。

  • 完善知识库:如果某类问题持续不准确,建议管理员在知识库中添加对应的问题模板、术语或业务逻辑。配置后 ChatBI 会优先使用知识库中的知识来理解和处理该类问题。

  • 检查生成的 SQL:展开"生成执行计划"步骤中的 SQL 代码,确认查询逻辑是否正确。如有问题,可复制 SQL 进行手动修改后执行,并将正确的 SQL 作为问题模板添加到知识库中。

数据源配置指南

MySQL

  • 全表扫描风险:ChatBI 根据提问生成的 SQL 可能会进行全表扫描。如果表中数据量较大(百万行以上),将会对数据库造成较高负载。强烈建议将只读备库或从库作为数据集的数据源,避免对生产环境造成影响。

  • 索引优化:为高频查询的筛选字段(如时间列、状态列、分类列)建立索引,可以加速 ChatBI 生成的 SQL 执行速度。

  • 字段命名:使用有明确业务含义的英文字段名(如order_amountcustomer_name),并添加中文字段注释。ChatBI 依赖字段名和注释来理解表结构,良好的命名可以显著提升目标表匹配和 SQL 生成的准确性。

  • 适用场景:适合数据量在千万行以内的业务数据库查询场景,如订单分析、客户管理等在线业务数据分析。

Hologres

  • 分区表设计:推荐使用分区表,按时间(如日期或月份)进行分区。ChatBI 生成的 SQL 在查询分区表时,能够自动进行分区裁剪,大幅减少扫描的数据量,避免因查询范围过大导致查询超时。

  • 表注释和列注释:Hologres 支持为表和列添加COMMENT,ChatBI 会读取这些注释来理解数据语义。建议为每张表和每个关键字段添加中文注释,描述其业务含义。

  • 行列混合存储:对于 ChatBI 以聚合分析为主的查询场景,建议使用列存模式,可获得更好的查询性能。

  • 适用场景:适合实时和近实时数据分析场景,支持亿级数据量的交互式查询,特别适合实时看板和实时指标分析。

MaxCompute

  • 分区裁剪:MaxCompute 为海量数据处理引擎,单次查询可能扫描大量数据。强烈建议使用分区表,并确保常用的过滤维度(如日期、地域)作为分区键。ChatBI 生成 SQL 时会尽量使用分区条件,减少不必要的全表扫描。

  • 查询耗时:MaxCompute 为离线批处理引擎,查询响应时间通常在数秒到数分钟之间,取决于数据量和查询复杂度。如需秒级响应,建议使用 Hologres 或 StarRocks。

  • SQL 方言差异:MaxCompute 使用自有 SQL 方言,部分函数和语法与标准 SQL 存在差异。ChatBI 已适配 MaxCompute SQL 语法,会自动生成符合 MaxCompute 规范的 SQL。如发现生成的 SQL 执行报错,可在知识库中添加问题模板来引导正确的 SQL 写法。

  • 适用场景:适合 TB 到 PB 级别的海量离线数据分析场景,如历史数据趋势分析、全量用户行为分析等。

StarRocks

  • MPP 架构特性:StarRocks 采用大规模并行处理(MPP)架构,擅长多维分析和复杂聚合查询。ChatBI 提出的多维度交叉分析类问题,在 StarRocks 上通常能获得较好的查询性能。

  • 物化视图:如果某些聚合查询是高频场景,建议在 StarRocks 中创建物化视图来加速查询。ChatBI 会自动利用物化视图来提升查询性能。

  • 数据建模:StarRocks 支持明细模型、聚合模型、更新模型和主键模型。对于 ChatBI 分析场景,明细模型适合灵活多维分析,聚合模型适合固定指标查询场景。根据实际分析需求选择合适的模型。

  • 适用场景:适合实时多维分析和 Ad-hoc 查询场景,支持亿级数据量的秒级查询响应,特别适合用户行为分析、实时报表等场景。