1. 概述

关联关系 是在数据源中的逻辑表之间创建的灵活连接线,描述了两个表如何基于公共字段互相关联。在分析来自某个表的指标时,会通过建立 关联关系 来拓展分析的维度。创建了两个表之间的关联关系后,两张表仍然保持独立,不会形成逻辑表或者物理表,不会执行任何数据关联计算。

  • 需要选择两个表之间的匹配字段(通常是主键)。
  • 不需要在创建时选择时 左连接右连接,在指标分析中,会根据指标或者维度所在的表自动确定类型。

可以使用两类表来建立关联关系:

  • 神策预置的 EUI 模型表。
  • 用户导入的数据库表。

关联关系的要求:

  • 在建立 关联关系 时,定义关系的字段必须具有相同的数据类型,目前支持:<字符串 Stirng>、<数值 Number>。
  • 支持两个表单个字段之间的关联,不支持联合多个字段后再建立关联关系。
  • EUI 事件模型中,事件(Events)跟用户(Users)之间的关系,无需用户操作,EUI 事件模型内置处理。
  • 定义关系的字段,必须在一方为 主键,可以在 指标平台 > 表应用管理 中定义主键。

三种关联关系:

关联关系

举例

1:1(一对一)

可理解为公民与身份证号的关系,一个人只有一个身份证号。

1:N(一对多)

可理解为省份与城市的关系,一个省份有多个城市。

N:1(多对一)

多个城市属于一个省份。

用户导入的数据表,需要在 数据融合 > 通用数据接入 > 数据表管理 中编辑数据表,勾选 业务方显示状态 中的 指标平台 选项,将数据表纳入 指标平台 > 表应用管理 后,该表才能被关联关系使用。

2. 应用场景

建立多张表之间的关联后,用户可以在指标分析中,引入来自多张表的维度跟指标一起进行分析。

例如:我们在分析事件表的数据时,可以通过3个关系,分别引入商品(Product)、卖家(Seller)、用户(User)表中的维度:

  • 可以按照 卖家的国家 来分析订单事件。
  • 可以根据 商品的价格 来分析订单事件。
  • 可以根据 用户的国家 来分析事件。

3. 关系管理

3.1. 添加关联

  1. 选择 指标平台 > 关系管理
  2. 点击 右上角的 创建关系
  3. 选择 唯一键表 唯一键。
  4. 选择 引用表 引用字段
  5. 填写 关系名称
  6. 填写 描述
  7. 点击 提交 按钮。

3.2. 管理关联关系

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

  • 搜索:可以按照关系名称、关系用到的表名、字段名、状态来搜索关联关系。
  • 查看:点击 查看 按钮可查看关联关系的详细信息。
  • 编辑点击 编辑 按钮可修改关联关系的名称和描述信息。
  • 下线:点击 下线 按钮可以将关联关系的标记为 下线 状态,在自定义业务分析中无法使用该关联关系。关联关系依赖的底层物理表被删除、关联字段被删除、表名、字段名发生变化后,也会让关联关系的状态变为 下线

管理关联关系的权限,默认管理员会开启,其他角色只拥有查看权限。

3.3. 跨表使用指标维度

建立关联关系之后,可以在指标分析中跨表使用指标维度。

4. 常见问题

4.1. 两张表之间可以创建一个以上的关联关系吗?

可以。

比如电商订单中会有两个不同的用户 ID:下单用户 ID 推广用户 ID 这两个 ID 都可以通过用户表的主键,建立关联关系。

4.2. 是否支持联合主键?

不支持。

4.3. 哪些类型的字段不能用于关联关系的建立?

<字符串 Stirng> 和  <数值 Number> 之外的字段不能建立关联关系。

4.4. 是否支持创建多对多的关联关系?

不支持。

4.5. 如何修改关联关系?

可以创建一个新的关联关系,这样不会影响到已经使用的分析。对于老的关系确认没有被使用后,再进行删除。