创建逻辑模型:维度表

维度是维度建模的基础和灵魂。在维度建模中,将度量称为”事实“,将环境描述为”维度“。维度表包含了事实表中指定属性的相关详细信息,常用的维度如日期维度、城市维度等。本文为您介绍如何创建维度表。

前提条件

公共层主要完成公共数据的加工与整合,建立整体统一的维度表。应用层基于实际应用需求,获取公共层加工整合后的数据,面向具体业务建立业务层面的维度表,进行持续的个性化数据建设及改造。您可根据需求选择创建公共层或应用层维度表,不同数仓分层创建维度表的准备工作如下表。

数仓分层

准备事项

参考链接

公共层

已在公共层创建数仓分层。用于确定维度表所属的层级。

创建数仓分层

已创建数据域,用于确定维度表所统计的业务数据视角。

数据域

应用层

已在应用层创建数仓分层。用于确定维度表所属的层级。

创建数仓分层

已创建数据集市,用于确定维度表所统计的特定应用场景或产品的数据类别。

数据集市

背景信息

结合业务的数据域的规划,提取出各业务数据域中进行数据分析时可能存在的维度,并将维度及其属性通过维度表的方式存储下来。例如,在进行电商业务数据分析时,可用的维度及其属性有:订单维度(属性包括订单ID、订单创建时间、买家ID、卖家ID等)、用户维度(性别、出生日期等)、商品维度(包括商品ID、商品名称、商品上架时间)等,此时您就可以将这些维度和属性创建为订单维度表、用户维度表、商品维度表等,将维度属性记录作为维度表的字段。后续您可将这些维度表部署到数仓中,通过ETL将实际维度数据按照维度表定义的方式进行存储,方便业务人员在后续的数据分析时进行取用。

维度表如上图所示:

  • 创建维度表时:

    • 可以关联本维度表是用于分析哪个业务分类、哪个数据域,便于后续直接查看具体某一数据域或数据集市下,有哪些维度表。

    • 可以指定维度表后续在数据建模分析使用时,维度表的数据存储于数仓中的哪个数据分层,一般情况下维度表可存储于公共维度层(DIM层)。

  • 维度表创建后,您可以将维度的属性添加为维度表的字段,并对维度表进行关联和分区的设置,使用统一的数据标准来进行字段设置,保障全数据域中的维度数据的属性是一致的。

  • 维度表配置完成后:

    • 可物化至存储引擎,后续在计算引擎中使用维度表进行数据分析。

    • 在进行数据派生指标和汇总表的设计创建时,可直接关联使用维度表中的维度。

创建维度表

  1. 进入智能数据建模页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与治理 > 数据建模,在下拉框中选择对应工作空间后单击进入数据建模

  2. 智能数据建模页面的顶部菜单栏,单击维度建模,进入维度建模页面。

  3. 创建维度表。

    1. 维度建模页面,鼠标悬停至加号图标,单击逻辑模型 > 创建维度表

    2. 配置维度表的基本信息。

      您可根据需求,选择维度表所挂载的层级、数据域、业务分类、数据集市等信息,选择后,后续可进入相应对象的列表查看所创建的维度表。本文以创建公共层维度表示例。创建维度表主要参数说明如下。

      参数项

      描述

      数据域

      维度表所属的数据域。

      业务分类

      维度表所属的业务分类。

      存储策略

      维度表基于什么策略(即存储数据的时间周期及数据量范围)存储数据。

      维度

      维度表关联的维度,用于配置维度表分析数据的视角。

      说明

      创建维度,详情请参见创建概念模型:维度

      表名规则

      通过已配置的检查器规范维度表的命名规则。选择检查器后,该维度表的表名需按照检查器定义的规则配置。

      说明

      配置检查器,详情请参见配置及使用数仓分层检查器

      表名

      维度表的名称。若您配置了表名规则,则维度表的表名需遵循规则要求。

      表中文名

      维度表的显示名称。

      生命周期

      维度表保留的时间周期。最大可保留36000天。

      负责人

      当前维度表的责任人。默认为创建维度表的用户。

      描述

      维度表的描述信息。

  4. 配置完成后,单击保存,维度表创建成功。

    在维度建模左侧目录树相应的数据域或业务分类下,可查找并统一管理维度表。

添加表字段

模型创建成功后,您需要为模型添加表字段。

说明

您也可以通过FML语句创建字段、关联关系及分区,操作方法请参见代码模式建模

您可以通过快捷模式代码模式为表添加字段,其中快捷模式支持从表/视图导入,即从计算引擎已存在的物理表或视图导入字段,即在查找已有表/视图下拉列表搜索并选择已存在的物理表或视图进行字段导入。

说明

当前仅支持从MaxCompute、Hologres、EMR Hive引擎的表或视图导入。

快捷模式从表/视图导入

从表导入

  1. 单击快捷模式下,从表/视图导入后的展开

  2. 查找已有表/视图的输入框中输入相应名称,即可选择对应的表或视图,并在已引用的表后选择导入表或视图的全部字段或部分字段。

    说明
    • 输入名称时支持模糊匹配,即输入关键字便可搜索到所有名称中包含关键字的表或视图。

    • 仅支持搜索生产环境的表,不支持搜索开发环境的表。

    • 导入全部字段图标表示导入全部字段。

    • 部分字段图标表示导入部分字段。

  3. 当选择导入部分字段时,在弹出的窗口中,会为您展示所选表的字段,您可选择需要添加至模型的字段,完成后单击界面下方的导入

    说明

    如果已导入字段中存在字段显示名为空的字段,您可根据界面提示将字段描述填充为字段显示名。

代码模式

代码模式为您提供代码输入的操作方式,单击代码模式后,弹窗中会根据已配置的模型信息自动生成建模语言,您可以在此基础上修改模型信息,完成后单击下方的确定代码模式

设置表字段信息

完成上述操作后,模型所需字段即已被添加至该模型中,此时您可以根据业务需求设置模型各字段的关联字段冗余字段关联粒度/指标

  1. 设置字段属性。

    字段属性默认展示字段名称类型字段显示名描述主键非空度量单位操作等基础属性。您可以在展示已添加字段的右上方单击字段显示设置,选择需要展示出来的字段属性,并根据需要进行修改。

  2. 设置字段的关联字段标准关联标准代码

    用于为已添加的字段选择关联的字段标准和标准代码,规范字段的取值内容及范围。

    • 关联字段标准:统一规范管理含义相同但字段名称不同的数据,定义字段的取值范围、度量单位等内容。

    • 关联标准代码:设置某一字段标准可选择数据的内容以及范围。

  3. 设置字段的冗余字段

    传统维度建模星型模型中,维度存储在维度表中,通过事实表的外键获取维度,目的是为了减少存储消耗。而在DataWorks智能建模的维度模型设计中,为了提高下游的查询效率,降低获取数据的复杂性,减少关联表的数量,通常可将一些高频使用的字段作为冗余字段(例如,用户ID、常用的分析维度)。

    示例一:“订单创建明细表”可冗余“收货地址维度表”中的“收货地址”维度,包含“收货人地址、收货人手机号”等维度属性。

    示例二:“商品维度表”可冗余“商品信息表”中的“采购信息、品牌信息”等属性。

    在已添加字段的操作列,单击冗余字段,即可设置字段的关联字段。

    冗余字段

  4. 完成设置后单击左上角的保存

后续步骤

维度表创建完成后,您仍需为表配置字段管理、关联关系、分区设置等内容,并将该表发布至对应环境,详情请参见发布模型至引擎