❄️星形和雪花模型
在这之前我们介绍的多维模型的维度大部分都是在事实表 (Fact Table) 中的字段或者是事实表关联的维度表字段, 这样的模型结果称为星型模式(Star Schema).
但是一个维度可能是基于多张表关联的结果, 这样的模型称为雪花模式(Snowflake Schema).
接下来我们以产品(Product)为例介绍如何创建雪花模式的维度.
创建雪花维度
打开产品维度的编辑页面, 点击新建层次结构, 接下来都是在此层次结构内创建雪花模式的维度.
- 打开层次结构属性编辑界面, 输入名称Product Class, 标签产品分类;
- 在数据表区域找到
product
product_class
两个表拖至层级下方表区域, 表关联图形区域会自动打开; - 在表关联图形区域编辑表关联信息, 点击关联图标, 选择表关联类型;
- 点击新增关联字段按钮, 按顺序选择左键
product_class_id
和右键product_class_id
(MDX建模目前仅支持一个关联字段); - 将
product_class
表的字段:product_family
product_department
product_category
product_subcategory
和product
表的字段:brand_name
product_name
按顺序依次拖至层级区域, 可以实时预览维度数据的变化; - 打开层次结构属性编辑界面, 选择主键表为
product
, 主键为product_id
, 即作为维度关联中的主表用其主键与事实表外键进行关联. (在层次结构只有一个维度表的情况时, 主键表可以不设置, 只需设置主键, 主键列表会从唯一的表中获取); - 点击层级可以分别设置其属性;