关联数据集功能支持在可视化查询页面快速关联两数据集查询,提供明细关联和结果关联两种方式。本文为您介绍该功能的具体使用,包含明细关联、结果关联的操作步骤及查询逻辑等内容。
功能概述
跨数据集查询的场景在 DataWind 中比较常见,为了更好地满足大家的查询需求以及提高效率,在最新的版本中,我们对关联数据集功能进行了更新,现在用户可以直接在可视化查询页面快速选择其他数据集进行关联查询。

可视化查询页面当前只支持两个数据集的关联查询,如果有多数据集关联查询的需求,可以尝试创建正式的关联数据集,可参考关联数据集。
关联数据集提供两种方式:明细关联和结果关联。对于结果关联,当前限制两个数据集各自的 1000 条结果数据进行关联。
注意
这里是指两个数据集先各自聚合之后的 1000 条以内的数据进关联,而不是先关联之后对结果筛选 1000条数据。
两个关联方式会有不同的应用场景,我们在这里做一下对比,便于大家了解自己应该选择哪种方式:
| 明细关联 | 结果关联 |
|---|
功能截图 | 
| 
|
查询逻辑 | | |
关联方式 | - 依据查询选择字段自动选择关联方式
- 有事实表和维表的区分
| |
可关联的数据集范围 | - 自己有至少查看权限
- 同项目下与当前数据集相同集群
- 除 直连 数据集外的数据集
| - 自己有至少查看权限
- 同项目下且无需相同集群
- 除 关联数据集 数据集外的数据集
|
结果限制 | 无 | - 结果关联限制两个数据集各自的 1000 条结果数据进行关联
|
快速入门
明细关联查询
- 在可视化查询页面的左上角,可以找到「关联数据集」功能按钮,点击后即可展开关联数据集的配置弹窗,默认进入「明细关联」页面;

- 选择需要进行关联的数据集,这里可以选择自己有权限且同集群下的数据集;点击蓝字「查看数据集详情」可跳转到选择的数据集的预览页面。

- 选择完数据集后,可以通过配置两个数据集之间的关系,可以理解为关联字段,不过无需选择关联方式;

- 如果有需要还可以配置一些性能选项,不过这里不是必需的,如果不确定如何配置,按照默认的配置就可。如想了解更多,可查看下方功能介绍部分。

- 配置完成后,点击确认就可以开始关联数据集查询。

结果关联查询
- 在可视化查询页面的左上角,可以找到「关联数据集」功能按钮,点击后即可展开关联数据集的配置弹窗,进入「结果关联」页面;

- 选择需要进行关联的数据集,这里可以选择当前项目下自己有权限的数据集;点击蓝字「查看数据集详情」可跳转到选择的数据集的预览页面。

- 选择完数据集后,可以配置两个数据集的关联字段,默认为左链接,可以点击数据集名称后的选项切换哪一个数据集为左数据集;

- 配置完成后,点击确认就可以开始查询了,与普通的可视化查询不同,左侧的字段列表将会按照数据集进行分组。
注意
查询时如果本次查询有维度,则维度中至少需要选择一个数据集的关联字段。

功能介绍
明细关联
当选择明细关联时,两个数据集的关联方式逻辑与 Fabric 模型数据集的关联逻辑相同,可以总结为,DataWind 会在大家查询时,依据查询中使用到的字段自动选择关联方式。关于 Fabric 模型的介绍,可参考Fabric 模型概述。

明细关联数据集保存为 Fabric 模型
明细关联数据集在配置完成后,还支持大家将临时关联的结果升级为 Fabric 模型数据集进行保存,升级后的数据集后续可进行维护,同时支持扩展更多数据集之间的关联查询。

结果关联
当选择结果关联时,两个数据集将会按照先聚合后 Left Join 的方式进行关联,如果当前的查询有维度,则其中需要至少有一个关联字段。
查询示例:
为了让用户更好地理解它的关联方式,以下面这个关联数据集的查询为例,这里我们的「省份」是关联字段;

此时最终查询的结果,可以理解为先分别在两个数据集自身完成独立的查询,之后将两个查询的结果按照「省份」字段进行 Left Join。

表格示例:
同时我们使用表格列举了大家在使用关联数据集时会遇到的查询场景,便于大家更好地理解它的关联逻辑。





结果关联查询时的维度筛选说明
对于维度筛选,结果关联的筛选方式可以总结为:
- 对关联字段进行筛选时,与大家正常的查询筛选逻辑相同;
- 对非关联字段筛选时,会对两个数据集独立生效,可以理解为先对两个数据集分别按照它们的筛选条件查询出结果后再 Left Join,实际实现效果上与正常查询筛选逻辑相同。
- 暂不支持同时使用来自两个数据集的字段进行 OR 筛选

实践案例
明细关联查询案例
背景信息:已有两个数据集,数据集中的核心信息如下:
- 订单数据集:包含产品ID、物流时长等信息;
- 商品数据集:包含产品ID、销售额等信息;
【查询诉求】查看不同产品的平均物流时长及销售额;
【核心痛点】可视化查询中只能依赖1个数据集进行查询,当出现类似跨数据集查询诉求时,需要在数据生产层面进行加工,合并为1个数据集供用户使用,无简易、轻量的快捷查询方式;
【解决方案】使用可视化查询-关联数据集,满足跨数据集的灵活查询场景。
- Step1:功能入口;
- 可视化查询中,点击“关联”图标,进入关联数据集配置弹窗。

- Step2:“关联数据集”功能配置;
- 选择关联数据集:“商品数据集”;
- 配置关系:“产品ID”;//平台会默认填入同名同字段类型的关系字段,支持用户进行切换、新增配置;
- 配置性能选项:这部分信息可以直接采用默认配置,无需过多关注;
- 点击“确定”后,即会生成关联数据集;

- Step3:功能使用;
- 拖拽“产品ID”、“物流时长”、“销售额”字段,进行查询,即可得到不同产品的平均物流时长及销售额结果;

- 补充说明:生成的关联数据集是临时数据集,不支持复用(即再次选择到该数据集),当希望将数据集固化/对数据集进行扩展配置时(如添加更多数据集),可点击“关联数据集”弹窗中的“升级为Fabric模型”,将该临时数据集落为正式数据集。

结果关联查询案例
背景信息:已有两个数据集,数据集中的核心信息如下:
- 订单数据集【来自于Ck 集群1】:包含商品ID、商品类别、地区、销售额等信息;
- 商品数据集【来自于Ck 集群2】:包含商品ID、销售目标等信息;
【查询诉求】查看各商品的销售额及其销售目标;
【核心痛点】可视化查询中只能依赖1个数据集进行查询,当出现类似跨数据集查询诉求时,需要在数据生产层面进行加工,合并为1个数据集供用户使用,无简易、轻量的快捷查询方式;
【解决方案】使用可视化查询-关联数据集-结果关联,满足跨数据集的灵活查询场景。
Step1:功能入口;
- 可视化查询中,点击“关联”图标,进入关联数据集配置弹窗,选择“结果关联”。
Step2:“关联数据集”功能配置;
- 选择关联数据集:“商品数据集”;
- 配置关系:“商品ID”;//平台会默认填入同名同字段类型的关系字段,支持用户进行切换、新增配置;
- 点击“确定”后,即会生成关联数据集;

Step3:功能使用;
- 拖拽“商品ID”、“销售额”、“销售目标”字段,进行查询,即可得到不同商品的销售额及其销售目标;

- 补充说明:生成的关联数据集是临时数据集,不支持复用(即再次选择到该数据集)。