Power BI 数据模型设计及搭建——星型模型雪花模型

news/2024/7/9 15:24:05 标签: power bi, 数据可视化, BI

前言

之前的笔记提到了《Power BI 数据模型的核心概念》,本文继续深入讨论数据模型的设计架构,同时介绍两种常用的数据模型:星型模型和雪花模型


BI__4">BI 的数据模型和数仓模型有什么不同?

数据仓库和Power BI中使用的数据架构模型有一些相似之处,但也有一些关键区别。

  • 数据仓库模型更加专业化和复杂化,针对数据加载和历史记录保留进行了优化。
  • BI模型更简单,侧重于易用性和性能,通常使用汇总或聚合数据。BI模型还可以合并来自多个来源的数据。
  • 数据详细程度不同,数据仓库模型存储细粒度数据,而BI模型通常汇总或聚合数据。

规范化& 非规范化

这里引入两个术语:
规范化,指以减少重复数据的存储方式, 反之,没有减少重复数据的数据存储表,就是非规范化
在这里插入图片描述

产品表中有唯一的产品编号列(ProductKey)和产品特征列(产品名称、类别、颜色、尺寸)。在规范化的销售表中,仅存储ProductKey,只有 ProductKey 列记录产品信息;而非规范化的表格,还包括了产品的详细信息,多了许多重复的产品信息。

在实际应用中,我们只需要通过ProductKey 将销售表和产品表关联起来,即可得到每一单的商品详细信息。所以在开发和优化数据模型时,分析师可以通过将非规范化的数据转换成规范化表,进而提高数据模型的效率。

星型模型

星型模型由一个事实数据表和多个非规范化的维度表构成,可以帮助分析人员简化数据表格,是由关系数据仓库广泛采用的成熟建模方法 。
通常情况下,维度表包含的行数相对较少。 另一方面,事实数据表可能包含非常多的行,并行数会随着时间的推移不断增长。
在这里插入图片描述

雪花模型

雪花模式是星型模式的变体,其中维度表是规范化的,这意味着它们被拆分为多个相关的表以减少冗余。这可能使模式更复杂,但也更适用于某些类型的查询,例如涉及跨多个维度过滤或聚合数据的查询。

在这里插入图片描述

雪花维度

在 Power BI中,完全使用雪花模型可能导致模型过大,效率降低,因此,分析师可以根据需求模拟雪花维度的设计,将部分维度表规范化。

例如,Adventure Works (官方提供的案例数据 ) 按类别和子类别将产品分类。 产品分配给子类别,而子类别又相应地分配给类别。 在 Adventure Works 关系数据仓库中,“产品”维度经过了规范化并存储在三个相关表中:DimProductCategory 、DimProductSubcategory 和 DimProduct 。
![[Pasted image 20230508191141.png]]

处理非规范数据的方式

1. 定义层次结构

在选择集成到一个模型表中时,还可以定义一个层次结构,其中包含维度的最高和最低粒度。 冗余非规范化数据的存储可能会增加模型存储大小,尤其是在维度表很大的情况下。
在这里插入图片描述

2. 通过Power Query提取维度表

比如前面提到的销售表,包括了所需的产品信息详情,可以通过PQ对销售表进行操作,复制原数据表格,删除冗余信息及重复项,生成规范化的产品信息表。
在这里插入图片描述

3. 通过DAX公式提取维度表

可以根据现有的数据字段,提取需要的维度表,根据上面的合并表,如果需要一个商品名称的维度表,在DAX编辑框中输入:

产品表 = DISTINCT('销售表'[产品名称])

DISTINCT函数可以提取一列中不重复的值。


http://www.niftyadmin.cn/n/310865.html

相关文章

EasyCVR视频融合平台设备接入的步骤及端口配置的相关注意事项

EasyCVR视频融合平台基于云边端架构,能实现视频汇聚与集中管理、视频多端分发、多屏展示。平台可支持多协议与多类型设备接入,具体包括国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、大华SDK、宇视SDK等,能对外分发RTMP、RTSP、HTTP-F…

优橙内推上海专场——5G网络优化(中高级)工程师

可加入就业QQ群:801549240联系老师内推 简历投递邮箱:hrictyc.com 内推公司1:上海井胜通讯技术有限公司 内推公司2:嘉环科技股份有限公司 内推公司3:杭州东信网络科技有限公司 上海井胜通讯技术有限公司 上海井胜…

医疗血氧仪方案产品规格书

血氧仪是一种测量人体血氧饱和度的医疗设备,它通过指夹感应器将光源通过皮肤照射到血液中,测量出血液的血氧饱和度,从而帮助医生判断患者是否有缺氧的情况。下面是一份血氧仪产品规格书,具体内容如下: 产品名称&#x…

三位一体,铸就无敌铁军!海陆空协同,开启集群新篇章!

在机器人领域,多机器人系统的研究一直是一大热点,众多高校与研究所逐步投入到机器人集群系统的研究当中,其中无人机编队表演、无人车群园区运输、无人船集群水域监测等集群应用更是进入了大众的视野。但对多机器人集群系统的需求却远不止于此…

shell脚本工具

shell脚本常用的工具 sortuniqtrcut sort sort是一个以行为单位对文件内容排序的工具,也可以根据不同的数据类型来排序,例如数据和字符的排序就不一样。比较原则是从首字符向后,依次按ASCII码进行比较,最后将他们升序输出 语法格…

常见4种风险定量分析法

常见的风险定量分析方法主要有: 一、 敏感性分析法 用于确定哪些风险对项目影响最大,将其它不确定因素固定在基准值,再考察某个因素的变化会对目标产生多大的影响。 在这一分析中,检查每一个项目成分的不确定性对所检查项目目标的…

Ubuntu 20.04 安装 mysql 并配置远程访问

文章目录 一、使用 apt-get 安装 mysql 服务二、初始化 mysql 数据库管理员用户密码三、配置远程访问 一、使用 apt-get 安装 mysql 服务 # 更新软件源 apt-get install update# 安装mysql服务 apt-get install mysql-server# 使用mysqladmin工具查看mysql版本 mysqladmin --v…

npm安装依赖实践总结

node下载地址:https://nodejs.org/en/download/releases 。可以看到node版本、npm版本、node_module版本。 【1】npm的全局安装路径 查看默认值: npm get prefix默认是C:\Users\你的用户名\AppData\Roaming\npm 可以通过 npm config prefix 更改全局…