了解 Power BI 中的模式和数据建模
Source: Dev.to
请提供您希望翻译的具体文本内容,我将为您翻译成简体中文并保留原有的格式、Markdown 语法以及代码块和 URL。谢谢!
Power BI 概述
Power BI 是一个重要工具,用于连接来自不同来源的数据集,转换这些数据,并创建交互式可视化报告和仪表板。
许多初学者想了解 schemas 与 data models 之间的区别。
- Schemas 是具体的设计,用于概念化如何为分析结构化数据。
- Data models 是所选 Schemas 的实现。
因此,Power BI 中的数据建模取决于您创建的 Schemas。
常用术语
事实表
存储关键业务数据(例如销售或交易数据),这些数据会定期变化。事实表通常包含:
- 与维度表关联的维度键列。
- 用于汇总的数值度量列。
维度表
存储与事务数据相关的附加信息(查找/描述性数据),大多保持不变。维度表包含:
- 充当唯一标识符的键列(或列)。
- 其他用于过滤和分组的列。
规范化数据
以减少重复信息的方式存储的数据。

反规范化数据
在行中包含重复信息的数据。
1. 模式设计(规划阶段)
在将数据导入 Power BI 之前,先决定如何组织数据以便进行分析。星型模式是最受推荐的做法:一个中心事实表被维度表环绕。
精心设计的模式能够确保:
- 更佳的性能
- 更容易的 DAX 开发
- 更准确的报表
需要执行的操作:确定哪些表是事实表,哪些是维度表,并 识别它们之间的关系(Microsoft Docs – Create and manage relationships)。
模式类型
1. 星型模式
事实表位于中间,多个维度表围绕其四周。Power BI 引擎在这种布局下表现最佳。

2. 雪花模式
与星型模式类似,但一个或多个维度表进一步规范化为子维度表。

2. 数据建模(实现阶段)
数据建模是将模式设计在 Power BI 中实际应用的动手过程。它包括:
- 导入数据。
- 在 Power Query 中清洗数据。
- 创建表。
- 在 Modeling 视图中建立关系(例如,一对多)。
本质上,你是在使用 Power Query 和关系视图实现星型模式。
语义模型
语义模型由所有已连接的数据、转换、关系和计算组成。典型的 Power BI 流程是:
- 连接数据。
- 转换数据。
- 创建关系和计算 → 语义模型。
Learn more about semantic models
Power BI 中的关系
关系是基于公共列在表之间建立的连接。它们使来自多个来源的数据能够在单一、准确的报表中使用,并确保切片器和可视化能够正确交互。
Microsoft Docs – Create and manage relationships
常见关系类型
-
一对多 (1:M) / 多对一 (M:1) – 最常见的关系;一个维度表链接到事实表中的多行(例如,产品 → 销售)。
-
一对一 (1:1) – 表 A 中的每条记录恰好对应表 B 中的一条记录;这种情况较少,通常表明两个表可以合并。

-
多对多 (M:M) – 一个表中的多行匹配另一个表中的多行;通常需要桥接(联接)表。
在 Power BI 中创建关系
自动检测功能 – 当你加载多个表时,Power BI 会自动尝试为你查找并创建关系。这些自动检测到的关系可以在 Model 视图中进行审查和编辑。
Power BI 关系
自动检测
Power BI 可以根据数据表中列的名称自动检测关系。
使用此功能:
- 转到 Modeling 选项卡。
- 选择 Manage relationships ► Autodetect。
手动创建关系
当 Power BI 无法自动检测关系(例如列名不同)时,请使用此方法。
- 在 Modeling 选项卡上,选择 Manage relationships ► New。
- 在 Create relationship 对话框中:
- 选择第一张表及要使用的列。
- 选择第二张表及要使用的列。
- 点击 OK。
Power BI 关系的关键要点
-
基数 – 定义表之间关联的行数。选项包括:
- 一对多(最常见,例如一个客户对应多个订单)
- 一对一
- 多对多
-
交叉过滤方向 – 决定过滤器在表之间的流动方式:
- 单向(默认——过滤器从“一”端流向“多”端)
- 双向(双向——过滤器双向流动;使用时需谨慎)
-
活动 vs. 非活动 – 在两张表之间只能存在 一个活动 关系用于直接过滤。可以定义额外的 非活动 关系,并在 DAX 计算中使用诸如
USERELATIONSHIP的函数来激活它们。 -
自动检测 – Power BI 可以在数据加载时根据匹配的列名自动查找并创建关系,但通常需要手动配置以实现最佳建模。