概述
什么是关联关系
关联关系是在数据源中的逻辑表之间创建的灵活连接线:描述了两个表如何基于公共字段互相关联,但是不会将表合并在一起。在分析来自某个表的指标时,会通过建立好的 关联关系,来拓展分析的维度。创建了两个表之间的关联关系后,两张表仍然保持独立,不会形成逻辑表或者物理表,不会执行任何数据关联计算。
- 您需要选择两个表之间的匹配字段(通常是一方为一张表的主键,表示该字段的值满足唯一性跟非空的条件;另一方的匹配字段为引用方)
- 您不需要在创建时选择 左连接、右连接 等连接类型,因为在指标分析中,会根据您指标或者维度所在的表自动确定类型
应用场景
建立多张表之间的关联后,用户可以在指标分析中,引入来自多张表的维度跟指标一起进行分析。
例如下图:我们在分析事件表的数据时,可以通过 3 个关系,分别引入商品(Product)、卖家(Seller)、用户(User)表中的维度:
- 可以按照 卖家的国家 来分析订单事件。
- 可以根据商品的价格来分析订单事件。
- 也可以根据用户的国家来分析事件。

功能简介
用户可以使用两类表来建立关联关系
注:用户导入的数据表,需要在 开启数仓应用,纳入 表应用管理 后被关联关系使用
关联关系的要求
- 在建立 关联关系 时,定义关系的字段必须具有相同的数据类型(目前支持:文本、数字类型)
- 支持两个表单个字段之间的关联,联合多个字段后再建立关联关系当前暂不支持
- EUI 中,事件(Events)跟用户(Users)之间的关系,无需用户操作,EUI 内置处理
- 定义关系的字段,必须在一方为 主键,可以在 表应用管理 中定义主键
如何添加表间关联
本示例将把 事件 跟 卖家表 之间建立关联关系。

添加关联
- 进入指标平台 > 关系管理页面,点击创建关系

- 选择下拉 卖家表 为主键表

- 在引用表下拉中选择 事件表,然后选择引用字段 SellerID,该引用字段表示事件表中的 SellerID 值来自 卖家表 的 SellerID 字段,根据 SellerID 能在 卖家表 表中找到一个不重复的记录。
关联字段需要根据实际情况谨慎选择,不能违反实际数据对应关系

关联关系 |
举例 |
1:1(一对一) |
可理解为公民与身份证号的关系,一个人只有一个身份证号 |
1:N(一对多) |
可理解为省份与城市的关系,一个省份有 N 个城市 |
N:1(多对一) |
多个城市属于一个省份 |
注:1 端表的 关联字段 中是不能有重复值的,所以 1 端的"1"也表示关联字段中每个字段值都是唯一的。
关联字段的要求
- 1 端表示关联字段为该表的主键,满足唯一、不能为空值的约束
- 选择好关联字段后,关闭设置抽屉。给关系命名,填写描述,然后右上角提交,完成创建

跨表使用指标维度
之所以要建立关联,就是希望能将有关系的两张表的维度、指标联合一起分析。
所以建立好关联之后,就可以在指标分析中跨表使用指标维度:卖家国家 维度来自 卖家表,有发生过订单事件的 卖家数量 指标来自 事件表。这里可以按照卖家的注册国家,来分析来自事件表的 卖家数量 指标。

管理关联关系
关联关系创建后为"上线状态",管理员可以对关联关系进行下线、删除、上线、名称编辑的操作。

查找
用户可以按照关系名称、关系用到的表名、字段名来搜索关联关系。
修改关联关系的名称跟描述
对于已经添加好的关联关系,点击 编辑 按钮修改关联关系的名称跟描述信息。
下线关联关系
关联关系依赖的底层物理表被删除、关联字段被删除、表名、字段名发生变化后,都会让关联关系变为"下线的状态"。
此外,管理员也可以手动将不再需要的关联关系标记为"下线"状态,这意味着在自定义业务分析中无法使用该关联关系。
下线后的关联关系,支持被删除,删除后将无法恢复。
权限
管理关联关系的权限,默认管理员会开启,其他角色只拥有查看权限。
关联关系常见问题 FAQ
- 两张表之间可以创建一个以上的关联关系吗?
可以,比如电商订单中会有两个不同的用户 ID:下单用户 ID、推广用户 ID;这两个都可以通过用户表的主键,建立关联关系。
- 是否支持联合主键?
目前暂不支持。
- 哪些类型的字段不能用于关联关系的建立?
文本、数字之外的字段,不能建立关联关系。
- 是否支持创建多对多的关联关系?
多对多的关联关系会导致维度的膨胀跟业务含义的混乱,暂时不支持
- 我如何修改关联关系?
可以创建一个新的关联关系,这样不会影响到已经使用的分析。对于老的关系确认没有被使用后,再进行删除。