# 一致性维度

一致性维度是数据仓库建模中的一个重要概念,一致性维度是在多个不同的事实表(数据表)中拥有一样的业务意义的维度字段,如客户ID产品类型数据期等,通过一致性维度的规范约束,使数仓事实表之间有了一种天然的“联系",使数仓模型之间变得更有条理更清晰。

一致性维度在系统的功能使用方面也发挥着重要作用,主要包括:

  1. 自动作用条件

系统可以通过一致性维度在页面内或页面间自动进行上下文维度条件的传递,比如数据范围权限过滤下拉框跨源过滤数据页面内条件传递页面间跳转条件传递

  1. 发现关联关系

在涉及2个表的关联查询或者跨表汇总查询时,系统会自动根据一致性维度规则发现关联关系,具体请参考自动发现关联关系

# 一致性维度规则

系统会使用一系列的规则判断2个模型之间的一致性维度,用户在新建或修改模型时只要遵守一些简单的规则即可满足一致性维度的规范要求:

  1. 拥有相同的维表:模型的字段中都设置了相同的关联表
  2. 拥有关联关系:模型之间设置了关联关系
  3. 拥有相同的字段名称:模型的字段名称或物理字段名相同。

系统在获取一致性维度时,会使用 拥有相同的维表 > 拥有关联关系 > 拥有相同的字段名称 的优先级顺序进行判断。

注意

系统仅在需要获取一致性维度进行自动作用条件发现关联关系的局部上下文中才会使用以上规则,而不是总是应用规则。常见的使用场景请参考下方的应用场景

# 应用场景

# 数据范围权限过滤

不同权限用户查看同一个页面时需要显示不同的数据,如湖北省的用户只能查看湖北地区的数据,湖南省的用户只能查看湖南地区的数据。

在权限管理时会使用行政区划维作为数据范围维度来给用户分配能查看的数据范围。系统在查询页面数据时会自动将当前用户的数据范围权限条件通过一致性维度规则找到要查询模型的一致性维度字段并作用到查询条件中。

湖北用户查看仪表板

示例地址:总体经营情况 (opens new window) (湖北用户:hb01/123456,湖南用户:hn01/123456)

# 下拉框跨源过滤数据

在仪表板中经常会使用到不同的图表组件从多个模型中查询展示数据,同时在页面顶部会放置多个下拉框设置不同的维度条件进行动态查询,系统可以通过一致性维度将下拉框维度条件自动作用到所有数据集中过滤。

如下图仪表板,左侧柱形图是从门店销售汇总表中查询统计,而右侧KPI、矩阵图从门店销售明细表中查询统计,顶部的日期和省份下拉框过滤条件通过一致性维度自动作用到所有数据集中。

跨表过滤-自动过滤

示例地址:跨表过滤-自动过滤 (opens new window)

# 页面内条件传递

下拉框跨源过滤数据类似,在仪表板页面内可以在画布上设置全局过滤条件,下级组件会自动根据一致性维度将过滤条件作用到查询中。同样,在报表的工作表过滤器中可以设置sheet的全局过滤条件,也可以把单元格设置为条件单元格并框选一片作用区域,系统也会自动通过一致性维度将条件到设定范围内的所有模型查询中。

示例地址:跨源过滤-条件传递 (opens new window)

# 页面间跳转条件传递

在页面间可以通过打开链接的方式跳转到下级页面,下级页面会自动根据一致性维度将上级页面的过滤条件作用到下级页面的查询中。

如下图,在展示各省份服装销售情况的报表中,可以点击湖北省销售数量单元格下钻到子报表中查询。在下钻单元格通过打开链接交互设置自动传递过滤条件,系统会自动根据一致性维度将年月省份条件作用下子报表的查询模型中,而无需主动传递。

主子表下钻

示例地址:页面间下钻条件传递 (opens new window)

是否有帮助?
0条评论
评论