数据可视化之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这么多年,只相信自己眼睛看到的,对于这个"虚 ...
随机推荐
- 02、MyBatis XML配置
MyBatis-全局配置文件 在MyBatis中全局配置文件有着重要的地位,里面有9类行为信息;如果我们要想将MyBatis运用的熟练,配置全局配置文件是必不可少的步骤,所以我们一定要啃下这一块硬骨头 ...
- Jenkins登录无效
解决办法: 进入Jenkins安装目录: 1:进入D:\jenkins\users\admin 这个目录下找到config.xml 可以看到里面的用户名是admin 2:进入D:\jenkins\s ...
- selenium(2)-selenium针对浏览器的操作有哪些
对浏览器有哪些操作 最大化.最小化浏览器 控制.获取浏览器大小 获取当前标签页title.url 前进.后退.刷新 执行js语句 打开.关闭,切换新标签页 滚动页面 上传附件 鼠标悬停 对话框的定位方 ...
- 程序员必须掌握的Java 框架,小白学会之后15k不是问题
Spring 的核心特性是什么?Spring 优点? Spring 的核心是控制反转(IoC)和面向切面(AOP) Spring 优点: 程序员必须掌握的Java 框架,学会之后50k不是问题 (1) ...
- 网络虚拟化之linux虚拟网络基础
1 linux虚拟网络基础 1.1 Device 在linux里面devic(设备)与传统网络概念里的物理设备(如交换机.路由器)不同,Linux所说的设备,其背后指的是一个类似于数据结构.内核模块或 ...
- 03 . 二进制部署kubernetes1.18.4
简介 目前生产部署kubernetes集群主要两种方式 kubeadm Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群 ...
- Nacos学习笔记
Nacos简介 Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理.Nacos 帮助更敏捷和容易地构建.交付和管理微服务平台. Nacos 是构建以“服 ...
- 利用xampp集成环境搭建pikachu靶场及部分问题解决
xampp的环境部署 1.本地服务器的搭建 首先要到官网下载xampp https://www.apachefriends.org/zh_cn/index.html 有各个不同的系统版本,这里我们选择 ...
- dart快速入门教程 (6)
6.内置操作方法和属性 6.1.数字类型 1.isEven判断是否是偶数 int n = 10; print(n.isEven); // true 2.isOdd判断是否是奇数 int n = 101 ...
- 019.Kubernetes二进制集群存储longhorn
一 Longhorn存储部署 1.1 Longhorn概述 Longhorn是用于Kubernetes的开源分布式块存储系统. 提示:更多介绍参考:https://github.com/longhor ...