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

发布: (2026年2月2日 GMT+8 04:07)
10 min read
原文: Dev.to

Source: Dev.to

介绍

Power BI 是由 Microsoft 开发的商业智能和数据可视化工具,允许 用户 连接多个数据源、转换和建模数据,并创建报告和仪表板。在本文中,我们将浏览 Power BI 中的各种模式和数据模型。

让我们从模式开始。


什么是 schema?

在 Power BI 中,schema 指的是数据模型中数据的结构和组织,定义数据如何连接和关联。通过了解 schema,我们可以设计出最佳的数据模型,从而实现全面的分析。

Source:

Power BI 中的模式类型

1. 星型模式

Star schema diagram

星型模式由一个中心 事实表 与环绕的 维度表 组成,形成星形结构。

  • 事实表 – 包含可度量的数据(例如,销售额)。
  • 维度表 – 保存与事实相关的描述性属性(例如,客户、日期)。

星型模式非常适合直接的报表和查询,因而适用于仪表盘和汇总报告。


2. 雪花模式

Snowflake schema diagram

雪花模式是星型模式的扩展,维度表进一步规范化为子维度表,形成类似雪花的结构。

示例: 一个 产品 维度可以拆分为 类别品牌 表。

优势: 通过增加表和连接来降低数据冗余,可节省存储空间。当存储优化至关重要且需要详细的数据模型时,雪花模式是理想选择。


3. 银河模式(事实星座模式)

Galaxy schema diagram

银河模式(也称为事实星座模式)包含多个共享维度表的事实表,形成复杂的相互关联的星座结构。

银河模式适用于大型企业环境,需要进行多流程或相互关联的指标分析(例如,财务与运营分析)。

如何在 Power BI 中实现模式

a. 星型模式

  1. 设置事实表和维度表 – 确定并创建中心事实表以及周围的维度表。
    示例: 一个 Sales 事实表,配有 ProductCustomer 维度表。
  2. 链接表 – 使用外键在事实表和每个维度表之间建立关系。
    示例: 通过 CustomerID 外键将 Sales 链接到 Customer

b. 雪花模式

  1. 规范化维度表 – 将维度表拆分为相关的子表。
    示例:Product 拆分为 CategoryBrand 表。
  2. 创建关系 – 在子表和主表之间定义关系,同时保持参照完整性。
    示例:Customer 拆分为 CityRegion 表,通过 CityID 将它们链接到 Customer 表。
  3. 优化存储 – 使用适当的存储和索引策略,高效管理复杂的联接。

c. 星系模式

  1. 识别事实表 – 确定不同业务流程所需的各种事实表。
    示例: 一个 Sales 事实表和一个 Shipping 事实表。
  2. 识别共享维度表 – 确定多个事实表共同使用的维度表。
    示例: SalesShipping 都可以通过共享的 Product 维度表进行关联。

数据建模

什么是数据建模?

数据模型 是我们为企业创建的数据结构。数据建模 是将来自各种来源的数据结构化、组织成一致的语义模型的过程,具体包括:

  • 定义表。
  • 建立它们之间的关系。
  • 使用 DAX 创建计算列和度量值。
  • 设置层次结构。
  • 优化性能。

数据模型类型

1. 概念数据建模

提供系统将包含的内容、组织方式以及涉及的业务规则的高级视图。它回答以下问题:

  • 我们需要哪些数据?
  • 业务希望得到什么?
  • 我们可以访问哪些数据?
  • 我们可以在哪里找到这些数据?

2. 逻辑数据建模

提供关于领域中概念和关系的更详细信息。它包括事实(例如,购买事件)和维度(例如,客户),并定义它们之间的关联。


3. 物理数据建模

描述数据在数据库中的存储方式,包括表、列、索引和存储规格。

文档结束。

物理数据模型

物理数据模型描述了数据将在数据库中实际存储的方式。它提供了一个可以实现为关系数据库的最终设计。物理数据模型回答以下问题:

  • 你的数据有哪些列?
  • 你的数据的数据类型是什么?
  • 你是如何存储这些数据的?
  • 如何压缩这些数据以使其更小?

数据建模过程

以下任务序列会迭代执行,以创建数据模型。

  1. 识别实体 – 首先确定数据集中要建模的事物、事件或概念(实体)。

  2. 识别每个实体的关键属性 – 每个实体通过一个或多个唯一属性(称为 属性)加以区分。

    • 示例:客户 实体可能具有 电话号码 等属性。
    • 示例:地址 实体可能包括 街道名称与门牌号城市州/省国家邮政编码 等属性。
  3. 识别实体之间的关系 – 指定每个实体与其他实体之间的关系性质。

    • 示例:客户 居住在 某地址。
  4. 完整映射属性到实体 – 确保模型反映业务对数据的使用方式。

  5. 分配键并决定规范化程度 – 在降低冗余与满足性能需求之间取得平衡。

    规范化 是一种组织数据模型的技术,其中为数据组分配数值标识符(键),以在不重复数据的情况下表示关系。

  6. 完成并验证数据模型 – 数据建模是迭代的;随着业务需求的变化,重复并完善模型。

数据建模类型

#类型描述
1Hierarchical data modeling每条记录只有一个根父级,映射到一个或多个子表,形成树状结构。
2Relational data modeling数据段通过表显式连接,降低数据库的复杂性。
3Entity‑relationship (ER) data modeling采用正式图示来表示数据库中实体之间的关系。
4Object‑oriented data modeling对象被组织在类层次结构中,并具有关联的特性。
5Dimensional data modeling旨在优化数据仓库中分析用途的数据检索速度。

为什么进行数据建模?

数据建模可以帮助开发人员、数据架构师、业务分析师以及其他利益相关者更容易地查看和理解数据库或数据仓库中数据之间的关系。此外,数据建模还能:

  • 减少软件和数据库开发中的错误。
  • 改善应用程序和数据库的性能。
  • 简化整个组织的数据映射。
  • 增强开发人员与商业智能团队之间的沟通。
  • 加快概念、逻辑和物理层面的数据库设计过程。

结论

在本文中,我们介绍了模式和数据建模。了解 Power BI 中的不同模式对于设计高效的数据模型至关重要。每种模式都有独特的优势;选择合适的模式可以提升查询性能、数据存储效率以及数据刷新操作。

掌握这些模式使您能够创建稳健且可扩展的数据模型,从而帮助组织有效地做出数据驱动的决策。

数据建模是实现有效数据管理和分析的关键基础。通过逐步构建 conceptuallogicalphysical 模型,组织可以从高层次的业务需求转向详细且可实施的数据库设计。

Back to Blog

相关文章

阅读更多 »

Power BI 中的模式与数据建模

在 Power BI 中,schemas 和 data modelling 定义了表的结构和关联方式,以确保数据准确、性能优秀且易于分析。schema 描述……