Skip to main content

❄️星形和雪花模型

在这之前我们介绍的多维模型的维度大部分都是在事实表 (Fact Table) 中的字段或者是事实表关联的维度表字段, 这样的模型结果称为星型模式(Star Schema).

但是一个维度可能是基于多张表关联的结果, 这样的模型称为雪花模式(Snowflake Schema).

接下来我们以产品(Product)为例介绍如何创建雪花模式的维度.

创建雪花维度

打开产品维度的编辑页面, 点击新建层次结构, 接下来都是在此层次结构内创建雪花模式的维度.

  1. 打开层次结构属性编辑界面, 输入名称Product Class, 标签产品分类;
  2. 在数据表区域找到 product product_class 两个表拖至层级下方表区域, 表关联图形区域会自动打开;
  3. 在表关联图形区域编辑表关联信息, 点击关联图标, 选择表关联类型;
  4. 点击新增关联字段按钮, 按顺序选择左键 product_class_id和右键 product_class_id (MDX建模目前仅支持一个关联字段);
  5. product_class 表的字段: product_family product_department product_category product_subcategoryproduct 表的字段: brand_name product_name 按顺序依次拖至层级区域, 可以实时预览维度数据的变化;
  6. 打开层次结构属性编辑界面, 选择主键表product, 主键product_id, 即作为维度关联中的主表用其主键与事实表外键进行关联. (在层次结构只有一个维度表的情况时, 主键表可以不设置, 只需设置主键, 主键列表会从唯一的表中获取);
  7. 点击层级可以分别设置其属性;