数据可视化之powerBI基础(十九)学会使用Power BI的参数,轻松搞定动态分析
https://zhuanlan.zhihu.com/p/55295072
静态的分析经常不能满足实际分析的需要,还需要引入动态分析,通过调节某个维度的增减变化来观察对分析结果的影响。在PowerBI中,可以使用「参数」,以切片器的形式来控制变量,与其他指标进行交互,进而完成动态分析。
创建「参数」
在PowerBI Desktop中,在“建模”选型卡下,点击“新建参数”,
然后将出现这个窗口,
比如按照以上默认的值建立的参数就是建立一个从0到20的整数序列:0、1、2、3……20,点击确定,画布上将出现一个切片器,这是因为新建参数时,左下角有个默认选项:将切片器添加到此页,通过滑动切片器可以调整参数的数值,

在数据视图下,可以看到这个参数表,
其实就是利用DAX函数GENERATESERIES新建了一个表而已,只是这里是通过图形界面点击的方式创建的,并且通过新建参数的方式,不只是新建了这张表,同时也新建了一个度量值,并自动添加到数据模型中,可以在整个报表中使用,通过右边的字段区可以看到这个度量值,
参数 值 = SELECTEDVALUE('参数'[参数])
这个度量值就是提取被选中的参数值,切片器滑到哪个数值,该度量值就返回什么数值,正是通过这个切片器和这个度量值的结合,来自由的控制变量,以下就通过几个实例来看看参数是如何实现动态分析的。
TopN分析
假设有全国每个省市的GDP金额,想知道GDP排名前5位GDP之和,可以这样写度量值:
GDP = SUM('各省市GDP'[金额])
前5名GDP = CALCULATE([GDP],TOPN(5,ALL('各省市GDP'[地区]),[GDP]))
这里使用了函数TOPN,第一个参数就是要返回的行数,第二个参数是被筛选的表,第三个参数是排序依据,还有第四个可选参数,默认为0按降序排列,就是提取前N位的行数;如果为1,就是按降序排列,将返回最小的N行。
这个度量值是计算前5名之和,如果想知道前10名,把TOPN的第一个参数改为10即可,但是在分析过程中我们不能总是手动更改度量值,这时就可以利用参数来自动实现。
新建一个从1到10的参数,自动生成的度量值为了更具可读性可以重命名为[TOPN参数],然后把这个度量值来替换TOPN函数的第一个参数,更改上面的这个度量值:
前N名GDP = CALCULATE([GDP],TOPN([TOPN参数],ALL('各省市GDP'[地区]),[GDP]))
然后就可以通过拖动切片器来实现动态的TOPN分析了,

动态移动平均
在分析股价走势图时,经常用到30日均线、60日均线等,使用移动平均线可以熨平每日价格的剧烈波动,让用户能更清晰看到长期的变化趋势。
30日均线就是向前推30天的均价折线图,60天均线、120天均线以此类推,我们先建立一个参数GENERATESERIES(30,120,30),以及度量值:[移动平均参数]。
由于股市不是每天都开盘的,所以不能直接用自然日期表向前推N天,这里直接在每日股价走势数据中添加编号,编写度量值:
N天均线 = AVERAGEX(
filter(all('股价走势'),'股价走势'[编号]<=VALUES('股价走势'[编号])&&'股价走势'[编号]>=VALUES('股价走势'[编号])-[移动平均参数]),
'股价走势'[收盘价])
AVERAGEX函数是一个迭代函数,可以将筛选出的表依据最后一个参数取算术平均值,控制移动平均天数的就是'股价走势'[编号])-[移动平均参数],将这个度量值和收盘价维度同时放入到折线图中,

可以直观的看出,天数越长的均线越平滑,走势越稳定。
动态折扣率
如果要测算对商品进行打折的情况下的销售额,可以新建一个折扣率参数GENERATESERIES(0.5,1,0.1),假设最低打5折,设置最小值为0.5,注意这里的数据类型选择“十进制数字”,
参数度量值重命名为[折扣率参数],原有计算销售额的度量值假设为[销售额],新建一个度量值:
折扣销售额=[销售额]*[折扣率参数]
将这个度量值和原来的[销售额]同时放入到柱形图中,

通过切片器选择不同的折扣率就可以动态的展示折后的销售情况。
关于参数就介绍到这里,参数的更多应用场景,可以根据这里的例子举一反三,使用方法类似。
数据可视化之powerBI基础(十九)学会使用Power BI的参数,轻松搞定动态分析的更多相关文章
- 数据可视化之powerBI入门(十一)认识Power BI数据分析语言DAX
DAX是英文Data Analysis Expression的缩写,意思是数据分析表达式,从名称上就可以看出,DAX公式是用作数据分析的,事实上也确实如此,从数据分析层面认识DAX会更有助于我们理解它 ...
- 数据可视化之powerBI基础(九)Power BI中的“新表”,你会用吗?
https://zhuanlan.zhihu.com/p/64413703 通常情况下,在PowerBI进行分析的各种数据表都是从外部的各种数据源导入进来的,但并不总是如此,某些情况下在PowerBI ...
- 数据可视化之powerBI技巧(二十三)Power BI可视化技巧,使用DAX自定义时间轴
按照自然日历来展现疫情数据时,是这样的效果, 由于各个国家的疫情爆发时间不一致,按自然日期坐标轴很难比较各个国家的蔓延速度. 如果各个国家都从蔓延日开始统计,展示之后每日的确诊人数,就是同样的时间轴 ...
- 数据可视化之powerBI技巧(十七)在Power BI中对数据进行分组
根据某一个维度的数据,进行分组统计,是很常见的做法,比如按年龄对客户进行分组,按考试成绩进行分组统计等,这篇文章介绍一下,在PowerBI中如何对数据进行分组. 在PowerQuery编辑器中分组 在 ...
- 数据可视化之powerBI技巧(五)在Power BI中写出优雅的度量值是什么体验?
之前的文章(采悟:连接表的几个DAX函数,一次全掌握)介绍了产品A的客户与产品B的客户的各种交叉关系,其中最常用的应该是找出A和B的共同客户,以便进行产品关联分析. 之前的思路是计算出两个产品的共同客 ...
- 数据可视化之powerBI技巧(四)使用Power BI制作帕累托图
各种复杂现象的背后,其实都是受关键的少数因素和普通的大多数因素所影响,把主要精力放在关键的少数因素上,就能达到事半功倍的效果. 这就是大家常说的二八原则,也称为帕累托原则,最早是由意大利经济学家 V. ...
- 数据可视化之powerBI技巧(三)这个Power BI技巧很可爱:利用DAX制作时钟
周末放松一下,给大家分享一个小技巧,仅利用DAX制作一个简易的时钟. 时钟效果如下: 这个时钟的制作只需一个度量值,你信吗? 事实上确实如此,制作步骤介绍如下: 1,新建参数,生成一个数字序列作为小时 ...
- 数据可视化之分析篇(一)使用Power BI进行动态帕累托分析
https://zhuanlan.zhihu.com/p/57763423 通过简单的点击交互,就能进行动态分析发现见解,才是我们需要的,恰好这也是 PowerBI 所擅长的. 就帕累托分析来说,能从 ...
- 数据可视化之PowerQuery篇(十一)使用Power BI进行动态帕累托分析
https://zhuanlan.zhihu.com/p/57763423 上篇文章介绍了帕累托图的用处以及如何制作一个简单的帕累托图,在 PowerBI 中可以很方便的生成,但若仅止于此,并不足以体 ...
- 数据可视化之powerBI基础(十)快速度量值,帮你更快的进行数据分析
https://zhuanlan.zhihu.com/p/64414831 刚开始学习PowerBI,最头疼的可能就是度量值了,毕竟用了Excel这么多年,只相信自己眼睛看到的,对于这个"虚 ...
随机推荐
- 关于微信小程序的文档-手撸
学习小程序的人如果有vue基础的话应该有很好的帮助作用.没有也关系,反正很简单. 首先理解一个完整的小程序app都有什么页面: pages页面放置所有的页面文件. 一个完整的小程序页面文件包括: in ...
- Spark原始码系列(六)Shuffle的过程解析
问题导读: 1.shuffle过程的划分? 2.shuffle的中间结果如何存储? 3.shuffle的数据如何拉取过来? Shuffle过程的划分 Spark的操作模型是基于RDD的,当调用RD ...
- UI 自动化遇到的坑
1,ElementNotInteractableException: Message: element not interactable 该解决方法是用xpath定位,然后使用js操作元素,点击之类 ...
- 如何使用 Shell 脚本来查看多个服务器的端口是否打开?
我们在进行服务器配置的时候,经常要查看服务器的某个端口是否已经开放.如果服务器只有一两台的话,那很好办,只需要使用 nc 命令一个个查看即可. 但是,如果你的服务器是个集群,有很多台呢?那如果还一个个 ...
- Java 源码刨析 - String
[String 是如何实现的?它有哪些重要的方法?] String 内部实际存储结构为 char 数组,源码如下: public final class String implements java. ...
- ESP8266局域网 路由器下作服务器模式串口透传 arduino uno示例 模板参考2
ESP8266服务器模式串口透传编译需要下载8266的库文件后才可以正常 准备工作 下载一个Arduino IDE,下载8266的库文件ESP8266服务器模式串口透传编译 功能说明 1.直接使用路由 ...
- Android学习笔记触摸事件
案例代码: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Relativ ...
- cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort
cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort sort(b,e) sort(b,e,p) stable_sort(b,e) stable_sort(b,e,p) ...
- JAVA设计模式 1 设计模式介绍、单例模式的理解与使用
数据结构我们已经学了一部分了.是该了解了解设计模式了.习惯了CRUD的你,也该了解了解这一门神器.我为啥要说是神器呢? 因为在大厂的面试环节.以及很多的比如 Springboot Mybatis 等开 ...
- 特性速览| Apache Hudi 0.5.3版本正式发布
1. 下载连接 源代码下载:Apache Hudi 0.5.3 Source Release (asc, sha512) 0.5.3版本相关jar包地址:https://repository.apac ...