数据建模的核心概念及Power BI实战指南
数据建模的核心概念及Power BI实战指南
数据建模是数据分析和可视化的重要基础,它帮助我们构建数据结构以支持有效的分析和报告。本文将介绍数据建模的核心概念,包括数据模型的基本原理、表和架构的设计、属性层次结构的创建,以及如何在Microsoft Power BI中进行分析建模。
数据建模的基本原理
使用分析模型可以构建数据来支持分析。模型基于数据的相关表,并定义你要分析或报告(称为“度量”)的数值,以及要将其聚合的实体(称为“维度”)。例如,模型可能包含一个表,其中包含销售的数值度量值(例如收入或数量)以及产品、客户和时间的维度。这将使你能够跨一个或多个维度聚合销售度量值(例如,按客户确定总收入,或每月按产品的销售总件数)。
从概念上讲,该模型形成了一个多维结构,该结构通常称为“多维数据集”,其中维度相交的任何点都代表这些维度的聚合度量值。
注意:尽管我们通常将分析模型称为“多维数据集”,即可以有三个以上(或以下)的维度 - 但对我们来说,要可视化超过三个维度并不容易!
表和架构
维度表表示要用于聚合数值度量值的实体,例如产品或客户。每个实体都由具有唯一键值的行表示。其余列标识实体的属性,例如,产品有名称和类别,客户有地址和城市。在大多数分析模型中,通常都包含一个时间维度,以便可以聚合与一段时间内的事件相关的数值度量值。
将按模型中的各个维度聚合的数值度量值存储在事实数据表中。事实数据表中的每一行表示一个记录的事件,该事件具有与之关联的数值度量值。例如,以下架构中的“销售”表表示单个项的销售交易,其中包含销售数量和收入的数值。
这种类型的架构,其中一个事实数据表与一个或多个维度表相关,被称为星型架构(想象有五个维度与一个事实数据表相关,则架构将形成一个五角星!)。还可以定义更复杂的架构,其中维度表与包含更多详细信息的其他表相关(例如,可以在与 Product 表相关的单独 Category 表中表示产品类别的属性 - 在这种情况下,设计被称为雪花型架构。事实数据表和维度表的架构用于创建分析模型,在该模型中,将预计算所有维度的度量聚合。与每次计算聚合相比,性能分析和报告活动的速度要快得多。
属性层次结构
关于分析模型需要考虑的最后一件事是创建属性层次结构,使你能够快速向上钻取或向下钻取以在分层维度中查找不同级别的聚合值。例如,请考虑目前讨论过的维度表中的属性。在“产品”表中,可以形成一个层次结构,其中每个类别可能包含多个命名产品。同样,在“客户”表中,可以形成一个层次结构来表示每个城市中的多个命名客户。最后,在“时间”表中,可以形成年、月和日的层次结构。可以使用层次结构的每个级别的预聚合值来生成该模型,使你能够快速更改分析范围,例如,通过按年份查看总销售额,然后向下钻取以查看按月划分的总销售额的更详细明细。
Microsoft Power BI 中的分析建模
可以使用 Power BI 从数据表中定义分析模型,这些数据表可以从一个或多个数据源导入。然后,可以使用 Power BI Desktop 的“模型”选项卡上的数据建模界面,通过在事实数据表和维度表之间创建关系、定义层次结构、设置表中字段的数据类型和显示格式,来定义分析模型,并管理数据的其他属性,这些属性有助于定义丰富的分析模型。