1. 概述
替换数据集,是指您在创建仪表盘后,可以给仪表盘快速切换数据集,使用替换后数据集来更新仪表盘,此外,您还可以在使用仪表盘模板之后,在保留模板的精美样式的同时,将仪表盘原有数据替换为自己的业务数据。
常见应用场景
- 底层数据集发生变化,在保持上层仪表盘内图表不变的基础上,替换底层数据。
- 创建仪表盘具有通用性,希望横向复制用于多个业务线。支持复制仪表盘,对复制后的仪表盘数据集的替换,快速完成数据集创建-图表制作-仪表盘搭建的生产链路。
当前图表替换数据集功能支持的方式
- 项目中心图表管理页面:可对项目下的图表进行批量替换数据集。
- 仪表盘页面:可对仪表盘上的图表进行批量替换数据集(暂不支持仅针对仪表盘单个图表替换)。
- 可视化查询页面:可对已保存的图表进行单个图表替换数据集。
2. 快速入门
第一步 替换入口
路径1:在项目中心-图表管理模块,筛选需要替换的数据集后,点击需要替换数据集的图标,点击右侧[替换数据集]图标;
注:仅项目管理员、图表 owner、图表所在仪表盘管理员可以操作替换数据集

用户也可勾选多个图表名称,批量替换数据集。需注意,仅支持单一数据集的批量替换。

路径2:在仪表盘编辑界面,点击右上角「替换数据集」,可对仪表盘上的图表批量替换

路径3:点击进入图表编辑页面,在数据集后的更多功能里,可以替换单张图表的数据集

第二步 替换配置
填写完善数据集替换配置,选择替换目标数据集后,进行模型字段匹配,包括数据源字段匹配(必选项)和数据集字段匹配(可选项)。数据源和数据集字段的具体理解可参考字段与字段表达式 FAQ,具体的匹配效果见下文具体功能介绍。
需注意,系统默认按照模型字段名称自动匹配。如存在数据类型不匹配,模型红色高亮显示,请确认后类型一致后再进行下一步操作。

第三步 完成替换
确认匹配信息后,点击「下一步」,会展开确认字段页面,如果图表使用的原数据集字段,在目标数据集中没有同名字段,且没有配置数据集字段映射,则会自动在新数据集中添加对应的字段。


3. 功能介绍
3.1 数据集字段映射持功能
在配置图表替换数据集时,由于需要对每个数据源字段都配置匹配关系,如果当前图表的字段非常多,且日常需要经常进行图表替换数据集的操作时;
如果每次替换数据集都一个个配置字段匹配会非常麻烦,花费的操作成本比较高。
为此提供了字段映射配置,支持为数据集之间的字段匹配关系提前配置映射,后续在对这些配置了映射的数据集做图表替换数据集操作时,将会自动按照映射配置填充匹配关系,降低操作成本。

详细操作指导请参见字段配置
3.2 支持替换的数据集类型
- 支持:
- 普通数据集(含常规的抽取和直连数据集)、镜像数据集
- 不支持:
- 标签数据集、群体数据集
- 基于可视化 JOIN 创建的图表
3.3 替换效果
数据源字段匹配主要是将图表上的字段,表达式中所引用的旧数据集的数据源字段,替换为新数据集的数据源字段。
- 如果旧数据集的字段在新数据集有同名字段,则会直接替换为新数据集的字段,直接使用新数据集字段的计算逻辑;
- 如果旧数据集的字段在新数据集无同名字段,则替换时会自动在新数据集中添加对应的字段,新字段的逻辑会继承旧数据集字段的逻辑;
数据集字段匹配则可以将当前图表中的字段,直接完整替换为新数据集的某个字段。
- 适用于新老数据集有同名字段,但是需要将老数据集的字段 A 换成新数据集的字段 B 的场景。
3.3.1 数据源字段匹配
数据源字段匹配,主要是将图表上的字段,表达式中所引用的旧数据集的数据源字段,替换为新数据集的数据源字段。
场景1:没有表达式嵌套
首先是一个比较简单的场景,即图表中的表达式都相对简单,没有引用其他计算字段,这里我们以下面这个图表为例:
- 图表中有两个字段,「sale_province」和「price」;



- 之后,对该图表进行替换数据集,映射关系如下图所示;

- 在替换完成后,目标数据集的对应数据源字段,将在表达式中替换掉原数据集数据源字段,变为下图。



场景2:存在表达式嵌套
这个场景也是实际业务中经常遇到的场景,即图表中字段的表达式存在引用其他字段,我们以下面这个查询为例:
- 图表中有个经过计算的字段「GMV」,涉及到数据集「order_count」和「sale_price」




- 之后对该图表进行替换数据集,映射关系如下图所示,虽然图中只有两个字段,由于[order_count]*[sale_price]的底层表达式完全展开后引用了其他数据源字段,因此对这些数据源字段都需要替换;

- 替换后,会把数据集字段完全展开后的表达式中的所有数据源字段都替换为目标数据集字段,如下图所示;其中「GMV」字段虽然看起来表达式没有变化,不过其引用的「order_count」和「sale_price」底层会进行替换;



场景3:数据源字段匹配至数据集字段
图表替换数据集在进行替换时,除了可以进行数据源字段之间的替换,也可以选择将字段表达式中当前数据集的数据源字段替换为目标数据集的数据集字段。
适用于新老数据集的字段计算逻辑不同的场景。
- 以下图为例,图中的「sales」字段表达式为数据源字段‘sales’;


- 在替换时我们选择将当前数据集的数据源字段
sales 替换为目标数据集的数据集字段「price-计算」

- 替换后,「sales」字段表达式中的
sales 将会替换为数据集字段「price-计算」。

3.3.2 数据集字段匹配
数据源字段匹配主要是替换字段表达式中引用的数据源字段;
而数据集字段匹配则可以将当前图表中的字段,直接完整替换为新数据集的某个字段。
我们以下面这个图表为例,图表中有两个数据集字段,名称为「sale_province」和「price」:

- 此时我们进行替换数据集,并配置数据集字段匹配,「price」替换为新数据集的「sales」,同时对「sale_province」不做处理;

- 此时会发现,新数据集中虽然没有「price」和「province」字段,此时也只需要新增一个「province」字段;

- 替换完成后,图表中原本的「price」字段,会被直接换成新数据集的「sales」字段,且该字段的计算逻辑也会使用新数据集中的计算逻辑,而不会在新的数据集再新增「price」字段。

3.4 其他影响
3.4.1 数据集参数
- 对项目级别的“个人参数”无影响。
- 数据集级别的“公共参数”,如果之前应用到原数据集,那么替换之后,应用数据集范围增加替换的新数据集。
3.4.2 层级结构、类目
原数据集的层级结构和类目不会复制到新数据集上,新数据集上的层级结构和类目不变。
3.4.3 权限
替换之后,原数据集权限根据设置,判断是否追加继承到新数据集上。
3.4.4 仪表盘
对于替换了数据集的图表,或包含替换数据集后图表的仪表盘,原则上所有组件与配置维持原有配置不变。包含公共筛选组件、联动/跳转配置、图表颜色及图例等配置。
4. 常见报错提示解析
4.1 字段数据类型不匹配
图表替换前后的数据集需要确保模型字段数据类型一致。
- 如下方截图中,「order_date」为日期类型字段,而「GMV」为数值类型字段,就会出现字段数据类型不匹配的报错。

出现以上问题提示时,用户可选择以下操作调整优化:
- 确认替换目标数据集的字段类型是否符合预期,如需修改,则需要修改数据集上游表的字段类型;
- 注意:这里需要修改的是数据集的模型字段,并不是数据集字段
- 如果数据集是飞书表作为数据源的数据集,则需修改飞书表对应列的数据类型
- 如果数据集是 Hive 数据源的数据集,则需修改 Hive 表对应字段的数据类型
- 如果数据集是自定义 SQL 模型的数据集,可在 SQL 中通过 CAST 函数进行转换

4.2 字段信息获取失败
出现字段信息获取失败可能有以下原因:
- 当前仪表盘中的图表不仅放在了这个仪表盘上,也同时放在了其他的仪表盘上,并且替换的同学没有那个仪表盘的编辑权限;
- 当前仪表盘上的图表数量过多。