Power BI 中的模式与建模
发布: (2026年2月1日 GMT+8 23:00)
4 min read
原文: Dev.to
Source: Dev.to
数据建模
该过程涉及对数据表进行结构化、组织和关联,以实现高效的性能。设计良好的数据模型很重要,因为它使报告准确且易于理解。在 Power BI 中,你可以通过打开报表视图并导航到 Model 来设置数据模型。这包括将多个数据表汇集在一起并定义它们之间的关系。
模式(schema) 是一种展示数据在数据模型中如何组织和关联的结构。
星型模式 vs. 雪花模式
星型模式
- 由一个中心 事实表(fact table) 和多个 维度表(dimension tables) 组成。
- 维度表直接连接到事实表。
- 在 Power BI 中更受青睐,因为它易于理解、能够高效执行 DAX 函数,并提供良好的查询性能。
雪花模式
- 事实表连接到维度表,维度表再连接到其他维度表。
- 由于结构更复杂、性能较慢且对 DAX 计算的效率较低,因而不太受欢迎。
关键区别
| 方面 | 星型模式 | 雪花模式 |
|---|---|---|
| 结构 | 事实表被维度表环绕 | 事实表 → 维度表 → 子维度表 |
| 所需连接 | 每个维度仅需一次连接 | 多次连接(每个维度层级一次) |
| 性能 | 查询和 DAX 执行更快 | 由于额外的连接导致更慢 |
关系
- 一对多 (1:*) – 维度表中的一条记录对应事实表中的多条记录。
- 多对一 (*:1) – 一对多关系的逆向视图。
- 多对多 (: ) – 一个表中的多条记录匹配另一个表中的多条记录。
事实表
- 存储可度量的、定量的数值(通常为数值型)。
- 示例:收入、毛利润、总销售额、销售数量。
- 包含大量行和相对较少的列。
- 用于诸如 SUM、AVERAGE、MIN、MAX 等计算。
维度表
- 充当事实表中数值的查找表。
- 示例:员工姓名、月份、国家、地区、产品类别。
- 提供描述性属性,为事实提供上下文。
良好数据建模的收益
- 数据准确性: 减少歧义和重复。
- 性能: 更少的连接和关系提升查询速度(例如星型模式)。
- 简化分析: 实现准确且高效的 DAX 计算。
- 数据完整性: 确保随时间保持一致且可靠的存储。
理解数据建模对于有效的数据分析、报告和决策制定至关重要。一个设计良好的模型能够提供更好的性能和更可靠的洞察。