度量值 | PowerBI星球

本文学习PowerBI最重要的概念:度量值


初学Power BI一般都会对度量值比较困惑,毕竟对长期接触Excel的人来说,这是个全新的概念,但一旦理解了她,肯定会立即喜欢上。

简单来说,度量值是用DAX公式创建一个虚拟字段的数据值,她不改变源数据,也不改变数据模型,如果你不在报表上使用她,甚至不知道她是什么样子的,而一旦被拖拽到报表上,便发挥巨大的作用,她可以随着切片器的筛选而闪转腾挪、变化万端,所以度量值一般在报表交互时使用。

说了这么多,你也许觉得更晕,不过没问题,这个概念不是靠语言能解释的很清楚的,在PowerBI报表上体验一下可能立即就明白了。

案例数据:

全国连锁电子产品专卖店的2016至2017年的销售明细,销售产品有三类:手机、电脑、平板,每一类又分别来自三个品牌:小米、苹果、三星,这个店销售的产品共计9个,全国8个城市门店设有门店。

还有几个维度表和一个日期表,模型关系图如下:

我们现在根据这个模型分析累计销售同比增长率。

先新建一个度量值[销售总额]:

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

然后在画布上添加矩阵表格可视化组件,把[月份]和刚创建的度量值分别放入行和值,每月的销售总额就出来了:

因为没有加入年度筛选,这时候的每月销售额实际上是2016和2017年的两个月份的合计额,所以现在加入一个年度切片器,

这个时候,选中年份,这个销售总额就是该年度当月的销售总额了。

因为我们是要分析本年累计销售金额的同比增长率,那么需要先得到本年累计销售金额和上年累计销售金额,新建两个度量值:

本年累计销售额 = TOTALYTD([销售总额],'日期表'[日期])

上年累计销售额 = TOTALYTD([销售总额],SAMEPERIODLASTYEAR('日期表'[日期]))

这里用了两个DAX函数,TOTALYTD函数是统计从年初到本月的金额,SAMEPERIODLASTYEAR返回的是上年同期的日期表,关于DAX函数先有个印象就行,后面会专门介绍。

把这两个度量值也放入矩阵中,选中2017年,本年和上年截至每个月份的累计销售额就出来了,

然后再添加个度量值[同比增长率],

累计同比增长率 = divide([本年累计销售额],[上年累计销售额])-1

把该度量值拖入矩阵,同比增长率就出来了,这就是利用这个数据模型实现的结果。

你也许觉得做个同比增长率也不是很麻烦,在Excel里面做也可以很快做出来,但是如果不只比较销售总额,还要分类别、分品牌来比较呢,是不是要在Excel里面做很多遍,况且这只是两年的数据,如果是20年呢,如果在100个城市设有门店呢,估计用传统Excel技能做要累吐血也做不完吧,而在刚才建立的模型里,无论有多少个维度,无论按哪个维度比较,都是点点鼠标的事:

这就是度量值的魅力,只是简单建立了四个度量值,然后就神奇的实现了多维度的比较,这要归功于度量值的最重要的特征:上下文

上下文就是度量值所处的环境,筛选表的行列标签、切片器的选中,都是度量值的上下文,比如北京2017年截至5月的苹果手机累计销售额3424000,它的上下文就是下面这6个维度:

[城市]="北京市"

[品牌]="苹果"

[类别]="手机"

[年度]=2017

[月份]=5月

[值]=[本年累计销售额]

理解了上下文,就理解了度量值的最重要的特征,因此她被称为移动的公式,随着上下文环境的不同而展示不同的数据,度量值另外还有两个主要特征:

  • 度量值不浪费内存,只有被拖到图表上才执行运算,如果数据量非常大的时候这点非常有利

  • 度量值可以循环使用,比如上面的建立的度量值:

    本年累计销售额 = TOTALYTD([销售总额],'日期表'[日期])

    累计同比增长率 = divide([本年累计销售额],[上年累计销售额])-1,

    就是直接调用之前建立好的度量值,所以以后在模型中新建度量值的时候,推荐从最简单的度量值开始建。

看到这里是不是对度量值的认识比较清晰了,如果动手做一遍会更加理解上下文。建立合理的数据模型,加上灵活运用度量值,以后无论遇到什么数据分析都不是难题了。

度量值的创建离不开函数,这里用到的函数称为DAX,后面会主要介绍,并通过DAX实例来加深对度量值的理解。


(0)

相关推荐

  • DAX Patterns | 关于时间的标准计算

    关于这个模式 在这个模式中,我们将向你展示如何使用标准日历计算与时间相关的计算,如年初至今.去年同期和百分比增长.使用标准日历的最大优点是:你可以依赖多个内置的时间智能函数.内置函数的设计方式是为最常 ...

  • PowerBI中DAX语言的上下文是什么

    什么是上下文 上下文就是DAX公式计算时所处的环境 列如:=SUM(FactSales[SaleAmount]) 这个公式解读为计算所有销售金额的总计 但是一般的透视表中常见的一种情况就是,产品按照类 ...

  • Power BI Desktop 中的 DAX 基本概念

    在 Power BI Desktop 中应用 DAX 的基础知识 2019/10/21 M o 本文适用于刚开始使用 Power BI Desktop 的用户. 为你提供有关如何使用数据分析表达式 ( ...

  • PowerBI作图技巧:创建度量值进行动态指标分析

    在一个图表中,可以将多项指标数据放进去同时显示,如果不想同时显示在一起,可以根据需要动态显示数据吗?在 PowerBI 中当然是可以的. 下面就看看如何利用度量值进行动态分析. 假如要分析的指标有销售 ...

  • PowerBI度量值存放技巧,任意多级子文件夹管理

    效果如下: 做到这一步后,还有人问,如果度量值特别多,想更进一步的细分管理,能不能在文件夹下面,再继续创建子文件夹呢? 这里就来分享一个创建子文件夹的小技巧. 依然用上图中的度量值的例子,如果想创建子 ...

  • 优先级和度量值的关系

    优先级和度量值的关系

  • DAX是什么? | PowerBI星球

    DAX是英文Data Analysis Expression的缩写,意思是数据分析表达式,从名称上就可以看出,DAX公式是用作数据分析的,事实上也确实如此,从数据分析层面认识DAX会更有助于我们理解它 ...

  • 理解CALCULATE | PowerBI星球

    介绍DAX的时候,特别强调过一个重要的函数:CALCULATE,本文就来揭秘这个函数的计算原理以及它是如何影响上下文的. CALCULATE的语法结构 语法: CALCULATE(<expres ...

  • FILTER函数 | PowerBI星球

    介绍过CALCULATE函数之后,有必要再介绍它的最佳搭档:FILTER函数. CALCULATE函数的第二个及之后的参数是筛选条件,而FILTER函数正是为筛选而生. FILTER语法 FILTER ...

  • EARLIER 函数 | PowerBI星球

    前面利用PowerBI做数据分析的时候都是对整列的字段进行操作,并没有做更细化的分析,比如分析数据的每一行.提取某一行的数据,这在Excel中很容易实现,因为Excel公式是对单元格操作.那么在Pow ...

  • 普通到没颜值的柱形图?| PowerBI星球

    前面通过大量时间学习那些可能会让你感觉枯燥的数据处理.数据建模等内容,到这里我们开始涉足PowerBI中最让人心动的环节:数据可视化. 第一篇先在PowerBI中制作常见的柱形图,简单来说,柱形图就是 ...

  • 折线图 | PowerBI星球

    如果要展现数据的趋势变化,折线图应该是不二之选,并且它更擅长于展现时间序列下的数据,根据折线斜率的不同展现变化的速率. 同柱形图一样,折线图同样很大众化,每个人都见过,这本身也成了它的一个优势,就是非 ...