关系模型
概述
功能说明
关系模型用于保存多个已有数据集之间的关联规则。创建卡片时,可以从关系模型中选择不同数据集的字段进行分析,系统根据卡片实际使用的字段和已配置的关系查询数据。
关系模型适合复用多个数据集之间相对稳定的关联关系。它不会生成一份预先合并的明细数据,也不需要为不同分析组合分别创建宽表。
例如,销售额位于订单数据集,商品品类位于商品数据集,门店区域位于门店数据集。建立“订单—商品—门店”关系模型后,可以在不同卡片中分别按商品品类、门店区域等维度分析销售额。
应用场景
| 分析需求 | 建议使用的功能 |
|---|---|
| 需要在多张卡片中复用多个数据集之间的等值关联关系 | 关系模型 |
| 需要清洗、转换、补充字段、预先汇总或保存加工结果 | ETL |
| 需要通过 SQL 完成复杂计算、非等值关联或生成固定查询结果 | 视图数据集或其他数据准备功能 |
使用前提
创建关系模型前,请确认以下事项:
- 已准备至少两个数据集,并拥有这些数据集的使用权限。
- 数据集处于同一查询执行范围:
- 使用直连数据集时,所选数据集必须来自同一个数据账户。
- 使用非直连数据集时,所选数据集必须为平台中的抽取数据集。
- 直连数据集和非直连数据集不能添加到同一个关系模型中。
- 关系模型、Web Service 数据集和视图数据集不能作为关系模型的源数据集。
- 已确认用于关联的业务字段,例如「订单数据集的商品 ID」和「商品数据集的商品 ID」。关联字段的数据类型需要兼容。
- 已了解关联字段在每个数据集内是否唯一,以及是否存在无法匹配的记录。这些信息用于配置「关联关系(基数)」和「数据匹配度(引用完整性)」。
创建关系模型
-
进入「数据准备 > 数据集」,点击「新建数据集」,在「应用」分类中选择「关系模型」。

-
在「选择数据集」窗口中选择数据集类型:
-
选择「直连」时,先选择数据账户,再选择该账户内的数据集。

-
选择「非直连」时,直接从有权限的数据集中选择。

-
-
点击「确定」。所选数据集显示在设计页左侧的数据集列表中。
-
点击页面顶部的默认名称,设置关系模型的名称、描述和存放文件夹。

如需继续添加数据集,点击左侧的「添加数据集」。同一个源数据集在一个关系模型中只能添加一次。

配置关系模型
添加数据集节点
从左侧数据集列表中,将需要参与关联的数据集拖入画布。建议先添加主要分析数据集,再添加提供分析维度或补充信息的数据集。
点击画布中的数据集节点或节点之间的关系线,可以在右侧分别配置数据集或数据集关系。节点在画布中的位置只影响模型展示,不影响查询结果。
删除画布中的数据集节点时,与该节点连接的关系线也会被删除。从左侧列表中移除数据集,会同时将该数据集从关系模型的数据来源中移除。
配置数据集节点
点击数据集节点,可以配置以下内容:

| 配置项 | 说明 |
|---|---|
| 过滤规则 | 限制该数据集参与关系模型的数据范围。过滤条件可能改变数据集之间的匹配情况,修改后需要重新核对「数据匹配度(引用完整性)」。 |
| 计算字段 | 在当前数据集节点中创建或管理计算字段。公式需要通过编辑器校验。 |
| 选择列 | 选择需要在关系模型中使用的字段,并可设置字段在模型中的显示名称。请保留关联字段和下游卡片正在使用的字段。 |
配置数据集关系
- 从一个数据集节点侧边的连接点拖动至另一个数据集节点,建立关系线。
- 点击节点之间的关系线。
- 在右侧「关系配置」中,分别选择两侧用于关联的字段。
- 如需使用复合关联键,点击「添加关联字段」,继续添加字段组合。

当前关系条件使用等值关联。配置多组关联字段时,只有各组字段同时相等,记录才会匹配。例如,同时配置「门店 ID」和「营业日期」后,两个字段均相等的记录才会建立关联。
同一对数据集之间只能建立一条关系。每条关系至少需要一组完整且数据类型兼容的关联字段。选择一侧的关联字段后,系统会尝试匹配另一侧名称相同且类型兼容的字段;请根据实际业务键核对匹配结果,不要仅根据字段名称确认关系。
配置高级选项
「高级配置」用于声明关系两侧关联字段的数据特征,包括「关联关系(基数)」和「数据匹配度(引用完整性)」。请根据真实数据进行配置;这些选项不会修改或清洗源数据。
关联关系(基数)

「关联关系(基数)」用于说明两侧关联字段是否唯一:
1:当前侧的关联字段值唯一。N:当前侧的关联字段值可能重复。
使用多个关联字段时,需要根据字段组合是否唯一进行判断。
| 关联关系(基数) | 说明 | 示例 |
|---|---|---|
1 : 1 | 两侧关联字段分别唯一 | 一条订单对应一条唯一的订单扩展信息 |
N : 1 | 左侧字段可能重复,右侧字段唯一 | 多条订单明细对应一条商品记录 |
1 : N | 左侧字段唯一,右侧字段可能重复 | 一条商品记录对应多条订单明细 |
N : N | 两侧字段都可能重复 | 两侧均按门店 ID 保存多条记录 |
系统默认使用 N : N。仅在确认某侧关联字段或字段组合确实唯一时,才将该侧设置为 1。
数据匹配度(引用完整性)

「数据匹配度(引用完整性)」用于说明当前侧的记录是否都能在另一侧找到匹配记录:
- 「全部记录匹配」:当前侧每条记录都能根据关联条件在另一侧找到至少一条匹配记录。
- 「某些记录匹配」:当前侧可能存在无法匹配的记录,或尚未确认全部记录均可匹配。
两侧的「数据匹配度(引用完整性)」需要分别判断。系统默认将两侧都设置为「某些记录匹配」。
例如,所有订单都能找到对应商品,但商品数据集中存在尚未产生订单的商品,可以将订单侧设置为「全部记录匹配」,商品侧设置为「某些记录匹配」。如果订单中也存在无法找到商品的记录,则订单侧同样需要设置为「某些记录匹配」。
错误的「关联关系(基数)」或「数据匹配度(引用完整性)」可能影响查询结果。无法确认数据特征时,请保留默认设置,并先核对关联字段的唯一性和缺失匹配情况。
预览数据
在画布中点击数据集节点右侧的「更多」,选择「数据预览」,可以查看该数据集的字段和数据内容。通过预览数据,可以检查关联字段的数据类型和取值,并确认用于建立关系的数据是否符合预期。
数据预览展示的是当前节点对应的源数据集,不是多个数据集关联后的合并结果。包含聚合函数的计算字段不参与源数据预览,可在编辑卡片时使用。

保存关系模型
确认关系模型满足以下条件后,点击「保存」;需要同时离开设计页时,点击「保存并退出」。

- 已选择关系模型的存放文件夹。
- 模型中至少包含两个数据集,且数据集之间至少存在一条有效关系。
- 关系中的关联字段已成对配置且数据类型兼容。
- 模型中不包含已删除或当前用户无权限的源数据集。
编辑已有关系模型时,如果移除的源数据集或字段被模型中的计算字段引用,继续保存将删除这些失效的计算字段。请根据系统提示确认影响后再保存。
保存后,可以在数据集列表中按类型筛选「关系模型」,也可以按名称搜索。进入关系模型详情页后,可以查看模型结构,并逐个预览有权限的源数据集。关系模型不会生成一张独立的合并明细表,因此详情页展示的是源数据集的数据,而不是关联后的完整明细。
使用关系模型创建卡片
关系模型当前可用于创建普通可视化卡片和钻取卡片。以创建普通可视化卡片为例:
- 新建可视化卡片,在数据源选择器中选择已保存的关系模型。

- 在字段面板中,按来源数据集选择需要分析的字段。例如,将商品数据集中的「品类」拖入维度区域,将订单数据集中的「销售额」拖入数值区域。
- 根据分析需要配置筛选、排序和图表样式,然后预览查询结果。
- 将卡片结果与源数据中的已知总额或分组结果进行核对。
系统根据卡片实际使用的字段选择相关数据集,不要求每张卡片都使用关系模型中的全部数据集。使用不同数据集中的同名字段时,请注意核对字段所属的数据集。
维护关系模型
可通过以下任一方式进入关系模型编辑页:
-
在数据集列表中找到关系模型,点击该模型右侧的「编辑」图标。

-
进入关系模型详情页,点击右上角的「…」,选择「编辑」。

进入编辑页后,可修改源数据集、节点配置和数据集关系。如需删除已有关系,点击画布中的关系线,然后在右侧「关系配置」中点击「删除关系」。

修改源数据集字段、节点过滤规则或数据集关系前,请先检查依赖该关系模型的卡片。修改后,需要重新检查关联字段是否完整、字段类型是否兼容,并核对关联字段的唯一性和数据匹配情况,确认无误后保存关系模型。
关系模型沿用数据集的文件夹和权限管理。其他用户需要获得关系模型的使用权限,才能使用该模型创建卡片。获得关系模型的使用权限,不代表同时获得各源数据集的直接访问权限。
常见问题
| 问题 | 处理建议 |
|---|---|
| 没有看到「关系模型」入口 | 请联系管理员确认当前环境已开启关系模型功能,并确认当前用户可访问「数据准备」及创建数据集。 |
| 无法选择某个数据集 | 检查数据集的使用权限和状态,并确认它与已选数据集处于同一查询执行范围。 |
| 保存时提示关系无效 | 检查模型中是否包含至少两个数据集、数据集之间是否存在有效关系,以及关联字段是否成对填写且类型兼容。 |
| 按关联维度分析时出现空值 | 检查业务键能否在另一侧数据集中找到匹配记录,并核对节点过滤规则和「数据匹配度(引用完整性)」。 |
| 汇总结果与源数据不一致 | 检查关联字段是否为正确的业务键、复合关联字段是否完整,以及设置为 1 的一侧是否确实唯一。 |
| 查询速度较慢 | 检查是否存在不必要的 N : N 关系,并核对关联字段、节点过滤规则和卡片实际使用的字段。请先确认数据特征,再调整关系配置。 |
| 源字段被删除或不再参与模型 | 修复关系线及下游卡片对该字段的引用后,再保存关系模型。 |
使用限制
- 关系模型只能关联处于同一查询执行范围的数据集。
- 直连数据集和非直连数据集不能添加到同一个关系模型中。
- 使用直连数据集时,关系模型中的数据集必须来自同一个数据账户。
- 关系模型、Web Service 数据集和视图数据集不能作为关系模型的源数据集。
- 关系条件当前仅支持等值关联。
- 关系模型当前支持普通可视化卡片和钻取卡片,不能直接作为筛选器的数据源。
- 关系模型不能作为其他关系模型的数据来源。
- 关系模型不支持在数据集列表中直接预览或导出关联后的整体数据。编辑页和详情页仅支持预览单个源数据集。