了解 Power BI 中的模式和数据建模

发布: (2026年2月2日 GMT+8 09:05)
7 min read
原文: Dev.to

Source: Dev.to

请提供您希望翻译的具体文本内容,我将为您翻译成简体中文并保留原有的格式、Markdown 语法以及代码块和 URL。谢谢!

Power BI 概述

Power BI 是一个重要工具,用于连接来自不同来源的数据集,转换这些数据,并创建交互式可视化报告和仪表板。

许多初学者想了解 schemasdata models 之间的区别。

  • Schemas 是具体的设计,用于概念化如何为分析结构化数据。
  • Data models 是所选 Schemas 的实现。

因此,Power BI 中的数据建模取决于您创建的 Schemas

常用术语

事实表

存储关键业务数据(例如销售或交易数据),这些数据会定期变化。事实表通常包含:

  • 与维度表关联的维度键列。
  • 用于汇总的数值度量列。

维度表

存储与事务数据相关的附加信息(查找/描述性数据),大多保持不变。维度表包含:

  • 充当唯一标识符的键列(或列)。
  • 其他用于过滤和分组的列。

规范化数据

以减少重复信息的方式存储的数据。

Normalized data diagram

反规范化数据

在行中包含重复信息的数据。

1. 模式设计(规划阶段)

在将数据导入 Power BI 之前,先决定如何组织数据以便进行分析。星型模式是最受推荐的做法:一个中心事实表被维度表环绕。

精心设计的模式能够确保:

  • 更佳的性能
  • 更容易的 DAX 开发
  • 更准确的报表

需要执行的操作:确定哪些表是事实表,哪些是维度表,并 识别它们之间的关系Microsoft Docs – Create and manage relationships)。

模式类型

1. 星型模式

事实表位于中间,多个维度表围绕其四周。Power BI 引擎在这种布局下表现最佳。

Star schema diagram

2. 雪花模式

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

Snowflake schema diagram

2. 数据建模(实现阶段)

数据建模是将模式设计在 Power BI 中实际应用的动手过程。它包括:

  1. 导入数据。
  2. Power Query 中清洗数据。
  3. 创建表。
  4. Modeling 视图中建立关系(例如,一对多)。

本质上,你是在使用 Power Query 和关系视图实现星型模式。

语义模型

语义模型由所有已连接的数据、转换、关系和计算组成。典型的 Power BI 流程是:

  1. 连接数据。
  2. 转换数据。
  3. 创建关系和计算 → 语义模型

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 可以根据数据表中列的名称自动检测关系。

使用此功能:

  1. 转到 Modeling 选项卡。
  2. 选择 Manage relationshipsAutodetect

手动创建关系

当 Power BI 无法自动检测关系(例如列名不同)时,请使用此方法。

  1. Modeling 选项卡上,选择 Manage relationshipsNew
  2. Create relationship 对话框中:
    • 选择第一张表及要使用的列。
    • 选择第二张表及要使用的列。
    • 点击 OK

Power BI 关系的关键要点

  • 基数 – 定义表之间关联的行数。选项包括:

    • 一对多(最常见,例如一个客户对应多个订单)
    • 一对一
    • 多对多
  • 交叉过滤方向 – 决定过滤器在表之间的流动方式:

    • 单向(默认——过滤器从“一”端流向“多”端)
    • 双向(双向——过滤器双向流动;使用时需谨慎)
  • 活动 vs. 非活动 – 在两张表之间只能存在 一个活动 关系用于直接过滤。可以定义额外的 非活动 关系,并在 DAX 计算中使用诸如 USERELATIONSHIP 的函数来激活它们。

  • 自动检测 – Power BI 可以在数据加载时根据匹配的列名自动查找并创建关系,但通常需要手动配置以实现最佳建模。

资源

Back to Blog

相关文章

阅读更多 »

Power BI 中的数据建模与模式

了解 Power BI 中的数据建模 类型的数据模型 - 概念数据建模 – 定义业务所需的数据以及概念之间的关系,例如,cu...

POWER BI- 模式与数据建模

概述:Power BI 中的 Schema 和数据建模对于性能和准确的报告至关重要。良好的建模确保数据干净、组织有序,从而支持……