概述
关联关系 是在数据源中的逻辑表之间创建的灵活连接线,描述了两个表如何基于公共字段互相关联。在分析来自某个表的指标时,会通过建立 关联关系 来拓展分析的维度。创建了两个表之间的关联关系后,两张表仍然保持独立,不会形成逻辑表或者物理表,不会执行任何数据关联计算。
- 需要选择两个表之间的匹配字段(通常是主键)。
- 不需要在创建时选择时 左连接、右连接,在指标分析中,会根据指标或者维度所在的表自动确定类型。
可以使用两类表来建立关联关系:
- 神策预置的 EUI 模型表。
- 用户导入的数据库表。
关联关系的要求:
- 在建立 关联关系 时,定义关系的字段必须具有相同的数据类型,目前支持:<字符串 Stirng>、<数值 Number>。
- 支持两个表单个字段之间的关联,不支持联合多个字段后再建立关联关系。
- EUI 事件模型中,事件(Events)跟用户(Users)之间的关系,无需用户操作,EUI 事件模型内置处理。
- 定义关系的字段,必须在一方为 主键,可以在 指标平台 > 表应用管理 中定义主键。
三种关联关系:
关联关系 | 举例 |
1:1(一对一) | 可理解为公民与身份证号的关系,一个人只有一个身份证号。 |
1:N(一对多) | 可理解为省份与城市的关系,一个省份有多个城市。 |
N:1(多对一) | 多个城市属于一个省份。 |
用户导入的数据表,需要在 数据融合 > 通用数据接入 > 数据表管理 中编辑数据表,勾选 业务方显示状态 中的 指标平台 选项,将数据表纳入 指标平台 > 表应用管理 后,该表才能被关联关系使用。
应用场景
建立多张表之间的关联后,用户可以在指标分析中,引入来自多张表的维度跟指标一起进行分析。
例如:我们在分析事件表的数据时,可以通过3个关系,分别引入商品(Product)、卖家(Seller)、用户(User)表中的维度:
- 可以按照 卖家的国家 来分析订单事件。
- 可以根据 商品的价格 来分析订单事件。
- 可以根据 用户的国家 来分析事件。
关系管理
添加关联
- 选择 指标平台 > 关系管理。
- 点击 右上角的 创建关系。
- 选择 唯一键表 和 唯一键。
- 选择 引用表 和 引用字段。
- 填写 关系名称。
- 填写 描述。
- 点击 提交 按钮。
管理关联关系
关联关系创建后的状态为 上线状态,可以对关联关系进行 下线、删除、上线、名称编辑 的操作。
- 搜索:可以按照关系名称、关系用到的表名、字段名、状态来搜索关联关系。
- 查看:点击 查看 按钮可查看关联关系的详细信息。
- 编辑:点击 编辑 按钮可修改关联关系的名称和描述信息。
- 下线:点击 下线 按钮可以将关联关系的标记为 下线 状态,在自定义业务分析中无法使用该关联关系。关联关系依赖的底层物理表被删除、关联字段被删除、表名、字段名发生变化后,也会让关联关系的状态变为 下线。
管理关联关系的权限,默认管理员会开启,其他角色只拥有查看权限。
跨表使用指标维度
建立关联关系之后,可以在指标分析中跨表使用指标维度。
常见问题
两张表之间可以创建一个以上的关联关系吗?
可以。
比如电商订单中会有两个不同的用户 ID:下单用户 ID 和 推广用户 ID 这两个 ID 都可以通过用户表的主键,建立关联关系。
是否支持联合主键?
不支持。
哪些类型的字段不能用于关联关系的建立?
<字符串 Stirng> 和 <数值 Number> 之外的字段不能建立关联关系。
是否支持创建多对多的关联关系?
不支持。
如何修改关联关系?
可以创建一个新的关联关系,这样不会影响到已经使用的分析。对于老的关系确认没有被使用后,再进行删除。