数据可视化之powerBI入门(十)认识Power BI的核心概念:度量值
https://zhuanlan.zhihu.com/p/64150720
本文学习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,它的上下文就是下面这5个维度:
[城市]="北京市"
[品牌]="苹果"
[类别]="手机"
[年度]=2017
[月份]=5月

理解了上下文,就理解了度量值的最重要的特征,因此她被称为移动的公式,随着上下文环境的不同而展示不同的数据,度量值另外还有两个主要特征:
度量值不浪费内存,只有被拖到图表上才执行运算,如果数据量非常大的时候这点非常有利
- 度量值可以循环使用,比如上面的建立的度量值:
本年累计销售额 = TOTALYTD([销售总额],'日期表'[日期])
累计同比增长率 = divide([本年累计销售额],[上年累计销售额])-1,
就是直接调用之前建立好的度量值,所以以后在模型中新建度量值的时候,推荐从最简单的度量值开始建。
看到这里是不是对度量值的认识比较清晰了,如果动手做一遍会更加理解上下文。建立合理的数据模型,加上灵活运用度量值,以后无论遇到什么数据分析都不是难题了。
度量值的创建离不开函数,这里用到的函数称为DAX,后面会主要介绍,并通过DAX实例来加深对度量值的理解。
案例数据可在公众号回复“度量值案例数据”下载。
数据可视化之powerBI入门(十)认识Power BI的核心概念:度量值的更多相关文章
- 数据可视化之powerBI入门 (一)认识PowerBI
来自 https://zhuanlan.zhihu.com/p/64144024 Power BI是什么? Power BI是微软推出的数据分析和可视化工具,我们先来看看微软官方是怎么介绍的: Po ...
- 数据可视化之powerBI入门(四)Power BI与PowerQuery、PowerPivot有什么关系
https://zhuanlan.zhihu.com/p/64146209 Power BI与PowerQuery.PowerPivot有什么关系? 刚开始学习PowerBI的时候,总是能碰到Powe ...
- 数据可视化之powerBI入门(十一)认识Power BI数据分析语言DAX
DAX是英文Data Analysis Expression的缩写,意思是数据分析表达式,从名称上就可以看出,DAX公式是用作数据分析的,事实上也确实如此,从数据分析层面认识DAX会更有助于我们理解它 ...
- 数据可视化之powerBI入门(十二)PowerBI中最重要的函数:CALCULATE
https://zhuanlan.zhihu.com/p/64382849 介绍DAX的时候,特别强调过一个重要的函数:CALCULATE,本文就来揭秘这个函数的计算原理以及它是如何影响上下文的. C ...
- 数据可视化之powerBI入门(二)体验PowerBI:零基础分分钟生成一份交互报表
https://zhuanlan.zhihu.com/p/64144595 体验PowerBI:零基础分分钟生成一份交互报表 首先我们准备一份数据,Excel格式 数据是从2006年到2015年10年 ...
- 数据可视化之powerBI入门(三)财务人员必学,使用Powerquery是一种什么体验?
https://zhuanlan.zhihu.com/p/54700574 财务人员必学,使用Powerquery是一种什么体验? 你和Excel高手的距离只差了一个Power Query!!! 先思 ...
- 数据可视化之powerBI入门(九)PowerBI数据建模:其实一点都不高深
https://zhuanlan.zhihu.com/p/64149834 数据建模并没有那么高深,你同样可以学会!这篇文章通过一个实例创建一个简单的数据建模,并引出两个重要的概念:度量值和DAX. ...
- 数据可视化之powerBI入门(七)数据清洗中最常使用的十三招
https://mp.weixin.qq.com/s?__biz=MzA4MzQwMjY4MA==&mid=2484067158&idx=1&sn=4ad955112df2f4 ...
- 数据可视化之powerBI入门(十三)CALCULATE函数的最佳搭档:FILTER
https://zhuanlan.zhihu.com/p/64383000 介绍过CALCULATE函数之后,有必要再介绍它的最佳搭档:FILTER函数. CALCULATE函数的第二个及之后的参数是 ...
随机推荐
- 【福利】FL Studio 20 汉化补丁包 _FL Studio 20 汉化包下载
我这两天在网上搜索FL Studio 20汉化包,找了半天也没有找到真正的汉化包,不过好在功夫不负有心人,让我找到了一个不错的FL Studio 20汉化网站,里面提供了FL Studio 20汉化包 ...
- 从大厂DevOps工具链部署,看现代产品的生命周期管理
目录 1. 认识DevOps 1.1. DevOps工具链 1.2. CI 持续集成(Continuous Integration) 1.3. CD(持续交付 & 持续部署) 1.4. Agi ...
- (七)ExtentReports测试报告的使用
原文链接:https://www.jianshu.com/p/4cd9e92d5edf 1.简介 ExtentReports用于生成测试报告,其不光漂亮而且使用简单,并可以定制相应的样式. 2.使用: ...
- LR字符串处理函数-lr_save_string
int lr_save_string( const char *param_value, const char *param_name) 指定字符串保存至参数 Action() { lr_save_s ...
- Numpy中的广播机制,数组的广播机制(Broadcasting)
这篇文章把numpy中的广播机制讲的十分透彻: https://jakevdp.github.io/PythonDataScienceHandbook/02.05-computation-on-arr ...
- OO第三单元——JML之破分大法
一.Jml总结及应用工具链 总的来说,jml就是对java程序进行规格化设计的一种表示语言,其中最核心的就是规格化,将代码要实现的功能和各项要求与约束不是通过自然语言,而是通过严密的逻辑语言来表达,这 ...
- 笨办法学python - 专业程序员的养成完整版PDF免费下载_百度云盘
笨办法学python - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:xaln 怎样阅读本书 由于本书结构独特,你必须在学习时遵守几条规则 录入所有代码,禁止复制粘贴 一字不差地录入代码 ...
- WireShark——IP协议包分析(Ping分析IP协议包)
互联网协议 IP 是 Internet Protocol 的缩写,中文缩写为“网协”.IP 协议是位于 OSI 模型中第三层的协议,其主要目的就是使得网络间能够互联通信.前面介绍了 ARP 协议, 该 ...
- PHP丨PHP基础知识之数据类型
PHP的数据类型主要有三大种:(细分的话8小种) 一.标量数据类型 标量数据类型包括以下几种: (1)BOOLEAN:布尔型 布尔变量是PHP变量中最简单的: 它保存一个TRUE或者FALSE值: 其 ...
- 3、尚硅谷_SSM高级整合_使用ajax操作实现增加员工的功能
20.尚硅谷_SSM高级整合_新增_创建员工新增的模态框.avi 1.接下来当我们点击增加按钮的时候会弹出一个员工信息的对话框 知识点1:当点击新增的时候会弹出一个bootstrap的一个模态对话框 ...