您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iProcess 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
     
   
 订阅
  捐助
搞懂PowerBI的数据建模
 
作者: PowerBI星球
103 次浏览     评价:  
2019-11-29
 
编辑推荐:
文章通过一个实例创建一个简单的数据建模,并引出两个重要的概念:度量值和DAX,希望对您有所帮助,
本文来自简书,由火龙果软件Delores编辑、推荐。

Power BI数据建模其实就相当于Excel的Power Pivot插件,不过这个插件已内嵌到PowerBI Desktop中了,两者的功能基本相同。Pivot是透视的意思,那么PBI的数据建模也和透视有许多共通之处。

使用的数据透视表的都知道,透视表只能从单个表中取数,如果想把其他表中的数据也放进来,只能先利用Vlookup把其他表的数据合并过来,然后再把这个字段放到透视表中。这只适用于数据非常简单的情况,如果数据量大或者维度很多,用透视表就无法满足需求了。

Power BI突破了这个限制,可以从多个表格、多种来源的数据中,根据不同的维度、不同的逻辑来聚合分析数据;而提取数据的前提是要将这些数据表建立关系,这个建立关系的过程就是数据建模。

以一个实例来理解数据建模。

比如有个电子产品专卖店,销售产品有三类:手机、电脑、平板,每一类又分别来自三个品牌:小米、苹果、三星,那么这个店销售的产品共计9个,其销售明细也是记录这些产品每天的销售数据,

为了能分析每个品牌的销售金额,或者分析每个产品类别的销售情况,其实还应该设计个产品明细表以及对应的品牌表和种类表,像这样的:

从这四个表中很容易就能想到它们之间的关系,品牌表和产品类别表分别和产品明细表中的品牌与产品种类相对应,而产品明细表中的产品编号和销售明细表中的产品编号相对应。

下面就演示一下在Power BI Desktop中建立一个模型,导入以后点击关系,出现这4张表,

可以看出产品明细表和销售明细表之间已经有一条线,这是由于表格导入后,PowerBI会自动检测关系并联接,没有检测到的表,可以点击一个表中的字段托到另一个表的对应字段上,就可以建立关系了,把类别表、品牌表和产品明细表建立关系后,关系图如下:

PowerBI关系图

一个简单的数据模型就建立好了,可以点进去看看建立模型的相关参数。

点击关系连接线,两边的表对应的连接字段会框选,双击关系线,进入编辑关系窗口:

PowerBI编辑关系

编辑关系窗口可以看出关联的两个表和对应的字段,也可以更改联结的字段;下面还有两个可选项,基数和交叉筛选方向

基数

基数就是两个连接字段的对应关系,分为多对一、一对一和一对多,一对多和多对一其实是一样的,实际上就是两种关系:

多对一(*:1):这是最常见的类型,代表一个表中的关系列有重复值,而在另一个表中是单一值

一对一(1:1):两个表是一对一的关系,列中的每个值在两个表中都是唯一的

具有唯一值的表通常称为“查找表”,而具有多个值的表称为“引用表”。在上述的关系图上,产品明细表上类别手机、平板、电脑都不是唯一的,每个品牌都有这种类型,是个引用表;但类别表上,几种类别都是唯一值,因此这两个表是多对一的关系,类别表也就是查找表。

交叉筛选方向

表示数据筛选的流向,有两种类型:

双向:两个表可以互相筛选

单向:一个表只能对另一个表筛选,而不能反向

这个稍微有点抽象,以后可以根据实例来理解。

根据刚才建立的数据模型,可以做一下分析,比如统计各品牌产品的销售额:

在销售明细表中并不能直接统计出按品牌的销售额,可以先建一个度量值,在建模选项卡下,点击新建度量值,公式栏输入:

销售额 = sum('销售明细表'[金额])

然后[销售额]这个度量值就建立了,在右边字段区可以看到。

PowerBI度量值

为了在画布上直观的看到各品牌销售额,在可视化里添加“卡片图”,把度量值字段放进去,可以看到卡片图的数字出来了,

PowerBI卡片图

这个数字是整体销售金额,因为还没有做任何筛选,为了看出各品牌的销售金额,现在添加一个品牌的切片器,

PowerBI切片器

点击不同的品牌,数值跟着变化,通过这个例子,可以看出:

展现的数字并不是一个表得出的,根据之前建立的关系模型,销售明细表中的数据被品牌表中的[品牌名称]字段所筛选,展现出来不同品牌的销售额,这就是数据模型的威力。

品牌销售额是通过[销售额]这个度量值,加入到卡片图中,并可与切片器交互,展现不同的数据。

通过这个实例,还看到了以前从未见过的的概念:度量值,这可以说是PowerBI数据建模的灵魂,创建度量值的公式称为DAX公式(看起来和Excel公式非常相似),刚才创建的这个度量值只是一个简单的sum函数,并没有任何的过滤条件,但是却可以根据切片器的筛选而展现不同的数值,所以度量值被称为移动的公式,这里只是简单介绍,有个印象即可。

学习数据建模的更多知识,可以说都是依据度量值的逻辑以及建立度量值的DAX公式来展开,是下一步学习Power BI的重点。

   
103 次浏览  评价: 差  订阅 捐助
相关文章

我们该如何设计数据库
数据库设计经验谈
数据库设计过程
数据库编程总结
 
相关文档

数据库性能调优技巧
数据库性能调整
数据库性能优化讲座
数据库系统性能调优系列
相关课程

高性能数据库设计与优化
高级数据库架构师
数据仓库和数据挖掘技术
Hadoop原理、部署与性能调优