Power BI 中的模式与数据建模
发布: (2026年2月2日 GMT+8 00:56)
4 min read
原文: Dev.to
Source: Dev.to
维度模型
星形模式
星形模式是 Power BI 的行业标准建模方法。它的名称来源于其视觉布局:一个中心 事实表 被 维度表 环绕,形似星形。
星形模式的组成部分
- 事实表 – 存储定量或可度量的数据(例如,销售额、数量)。
- 维度表 – 存储描述性数据(例如,日期、产品名称)。
- 关系 – 定义事实表和维度表之间的连接方式以及过滤器的传播方式。
维度表的特征
- 字段 – 保存属性值的列。
- 主键 – 每行的唯一标识符。
- 属性 – 描述性列(例如,产品类别、地区)。
- 外键 – 在事实表中引用维度表主键的键。
- 度量值 – 基于事实数据的计算(例如,总销售额)。
星形模式中的关系
- 一对多 – 维度表中的一行链接到事实表中的多行。
- 一对一 – 一个表中的每行恰好对应另一个表中的一行。
- 多对一 – 事实表中的多行关联到同一个维度行。
- 多对多 – 两个表中的多行可以相互匹配(需要桥接表)。
正规化 vs. 反正规化
- 正规化 通过将数据存储在多个相关表中来减少冗余。
- 反正规化 将相关维度数据展平成更宽的表,以提升分析性能并简化报表。
雪花模式
雪花模式将维度表正规化到第三范式(3NF)或更高,形成更细粒度的层级结构。
雪花模式的关键特征
- 正规化的维度表 – 拆分为更小的子表,以消除重复值。
- 层级结构 – 维度按层级组织(例如,产品 → 类别 → 制造商)。
- 降低数据冗余 – 通过每个值只存储一次来最小化不一致性。
雪花模式的组成部分
- 事实表 – 存储主要定量数据并包含多个指向维度表的外键;通常是最大的表。
- 正规化的维度表 – 提供描述性上下文,并进一步拆分为子维度表。
- 查找表 – 为事实表提供第一层描述。
- 子维度表 – 通过对主维度表进行“雪花化”而创建,形成层级结构。
雪花模式中的关键字段
- 主键 – 维度表和子维度表中的唯一标识符(例如
ProductID)。 - 外键 – 在事实表或维度表中引用相关主键的字段。
- 代理键 – 由系统生成的整数,代替自然业务键以提升性能。
良好建模的重要性
- 防止逻辑错误(例如,重复计数或数据缺失)。
- 清晰的命名约定和隐藏的技术字段使模型对非技术用户也易于理解。
- 中心事实表与周围维度之间的简洁关系降低歧义。
- 集中的维度表确保在各可视化中使用一致的定义,避免冲突的合计。
- 模块化模型允许在不重建整个系统的情况下添加新数据源或维度。