Power BI 数据模型设计及搭建——星型模型雪花模型
前言
之前的笔记提到了《Power BI 数据模型的核心概念》,本文继续深入讨论数据模型的设计架构,同时介绍两种常用的数据模型:星型模型和雪花模型
BI 的数据模型和数仓模型有什么不同?
数据仓库和Power BI中使用的数据架构模型有一些相似之处,但也有一些关键区别。
- 数据仓库模型更加专业化和复杂化,针对数据加载和历史记录保留进行了优化。
- BI模型更简单,侧重于易用性和性能,通常使用汇总或聚合数据。BI模型还可以合并来自多个来源的数据。
- 数据详细程度不同,数据仓库模型存储细粒度数据,而BI模型通常汇总或聚合数据。
规范化& 非规范化
这里引入两个术语:
规范化,指以减少重复数据的存储方式, 反之,没有减少重复数据的数据存储表,就是非规范化。
产品表中有唯一的产品编号列(ProductKey)和产品特征列(产品名称、类别、颜色、尺寸)。在规范化的销售表中,仅存储ProductKey,只有 ProductKey 列记录产品信息;而非规范化的表格,还包括了产品的详细信息,多了许多重复的产品信息。
在实际应用中,我们只需要通过ProductKey 将销售表和产品表关联起来,即可得到每一单的商品详细信息。所以在开发和优化数据模型时,分析师可以通过将非规范化的数据转换成规范化表,进而提高数据模型的效率。
星型模型
星型模型由一个事实数据表和多个非规范化的维度表构成,可以帮助分析人员简化数据表格,是由关系数据仓库广泛采用的成熟建模方法 。
通常情况下,维度表包含的行数相对较少。 另一方面,事实数据表可能包含非常多的行,并行数会随着时间的推移不断增长。
雪花模型
雪花模式是星型模式的变体,其中维度表是规范化的,这意味着它们被拆分为多个相关的表以减少冗余。这可能使模式更复杂,但也更适用于某些类型的查询,例如涉及跨多个维度过滤或聚合数据的查询。
雪花维度
在 Power BI中,完全使用雪花模型可能导致模型过大,效率降低,因此,分析师可以根据需求模拟雪花维度的设计,将部分维度表规范化。
例如,Adventure Works (官方提供的案例数据 ) 按类别和子类别将产品分类。 产品分配给子类别,而子类别又相应地分配给类别。 在 Adventure Works 关系数据仓库中,“产品”维度经过了规范化并存储在三个相关表中:DimProductCategory 、DimProductSubcategory 和 DimProduct 。
处理非规范数据的方式
1. 定义层次结构
在选择集成到一个模型表中时,还可以定义一个层次结构,其中包含维度的最高和最低粒度。 冗余非规范化数据的存储可能会增加模型存储大小,尤其是在维度表很大的情况下。
2. 通过Power Query提取维度表
比如前面提到的销售表,包括了所需的产品信息详情,可以通过PQ对销售表进行操作,复制原数据表格,删除冗余信息及重复项,生成规范化的产品信息表。
3. 通过DAX公式提取维度表
可以根据现有的数据字段,提取需要的维度表,根据上面的合并表,如果需要一个商品名称的维度表,在DAX编辑框中输入:
产品表 = DISTINCT('销售表'[产品名称])
DISTINCT函数可以提取一列中不重复的值。
Power BI 数据模型设计及搭建——星型模型雪花模型相关推荐
- 【转】设备数据通过Azure Functions 推送到 Power BI 数据大屏进行展示
设备数据通过Azure Functions 推送到 Power BI 数据大屏进行展示(1.准备工作) 原创 Sean Yu 云计算实战 2019-12-06 本案例适用于开发者入门理解Azure F ...
- 《Microsoft Power BI数据可视化与数据分析》之超市运营数据分析
14.3.1 各省份销售额柱形图 在"字段"窗格中,将"销售额"字段拖到画布上的空白区域,然后将"省/自治区"字段拖动到"可视化 ...
- [Power BI] Power BI数据建模
Power BI处理的表往往是多个的,Power BI的优势就是打通来自各个数据源中的各种数据表,根据不同的维度.不同的逻辑来聚合分析数据,从而进行数据分类汇总和可视化呈现.前提是各个表之间需要建立某 ...
- 【DBMS 数据库管理系统】多维数据模型 ( 星型模式 | 雪片模型 | 事实群模型 | 度量 | 分布型 | 代数型 | 整体型 )
文章目录 一.星型模式 二.星型模式 缺点 三.雪片模型 四.星型模型 雪片模型 折衷方案 五.事实群模型 ( 仅做了解 ) 六.度量 一.星型模式 星型模式 是 多维数据模型 的表现形式 ; 星型模 ...
- CIKM 2021 | 多场景下的星型CTR预估模型STAR
▐ 摘要 阿里妈妈展示广告需要为大量的场景提供广告排序能力,在业务场景数急剧膨胀的背景下,我们开始研究多场景联合建模.本篇文章主要介绍,我们在多场景建模下遇到的挑战.挑战背后的思考以及算法工程 co- ...
- 阿里妈妈技术:多场景下的星型CTR预估模型STAR
阿里妈妈技术:多场景下的星型CTR预估模型STAR 1.背景 问题定义 2.建模方案(STAR) 2.1.STAR Topology Fully-Connected Network 2.2.Parti ...
- (星型、雪花、星座、交叉连接)多维数据模型各种类型优劣分析
概述 在数据仓库的建设中,一般都会围绕着星型模型和雪花模型来设计表关系或者结构,同时从模型中又衍生出星座模型和交叉模型.下面我们先来理解这几种模型的概念和比较. 事实 和 维度 我们先来了解一下事实和 ...
- OLAP+星型模型+雪花模型
OLAP+星型模型+雪花模型 主键+外键 事实表+维度表 OLAP:联机分析技术( On-Line Analytical Processing) OLTP:On-Line Transaction Pr ...
- 理解数据仓库中星型模型和雪花模型
在数据仓库的建设中,一般都会围绕着星型模型和雪花模型来设计表关系或者结构.下面我们先来理解这两种模型的概念. (一)星型模型图示如下: 星型模是一种多维的数据关系,它由一个事实表和一组维表组成.每个维 ...
最新文章
- 专访阿里资深研发工程师窦贤明:PG与商业数据库差距并不明显
- 请求时的编码问题 Use body.encode(‘utf-8‘) if you want to send it encoded in UTF-8
- 数据库服务器文件路径,如何在服务器中找到数据库文件路径
- 从电源问题出发,带你揭秘新体系结构范式 COA
- 结构体的传参理解成员的存储方式
- linux将mysql导出表数据导入另一台服务器_远程linux服务器mysql数据库导入和导出.sql文件...
- 2011 - 12 - 12记录2011 - 12 - 11
- hp服务器增加raid卡,惠普ProLiant服务器Raid卡配置过程详解
- java静态链表_静态链表及其创建(C语言实现)
- 好好看看PHP 呼呼
- PHP程序员7小时学会Kotlin 第二小时
- 运营效果分析:假设检验
- asp html5留言板,ASP.NET MVC 开发实例:简单留言板的开发
- [Wireshark]交换机设置镜像端口并使用Wireshark抓包异常流量分析病毒种类
- python科学计算基础教程pdf下载-python科学计算 第二版
- 配合字体图标的搜索框
- Ctrl+Z的相反快捷键(附最全AndroidStudio常用快捷键)
- Android6.0以下系统判断相机权限
- 经典激光雷达SLAM系统:LOAM-Livox
- STM32网址大全(快速定位网址查找资料)