DAX/PowerBI系列 - 参数表(Parameter Table) 度量值模板
DAX/PowerBI系列 - 参数表(Parameter Table) 度量值模板
难度: ★★☆☆☆(2星)
适用范围: ★★★☆☆(3星)
概况:
当你有多个度量值都需要计算YTD,MoM,而又不想重复所有这些给每一个度量值分别设定计算度量值的话,有没有一个简便的方法,少点coding呢?
同时,用户通过选择,在同一个visual里面显示不同的度量值(组)。
此文涉及前文DAX/PowerBI系列 - 参数表(Parameter Table) - 多时间段数值对比的扩展部分,给出具体实例和解决方法。
应用场景:
以下是几个应用场景:
用户想在同一个chart显示不同的度量值(组)
避免重复定义一系列度量值
最终PowerBI效果显示如下:(耐心等待PowerBI 出来,噔噔噔噔~~~)
如图,1)左侧的YTD根据所选变化而变化;
2)右侧的标题是一个计算值,根据选择动态改变;同样右图中的所有值都根据所选不同而全部改变。
3)表格显示对应的值

欢迎转载,请保留原文链接和作者信息。O(∩_∩)O谢谢。
DAX/PowerBI系列 - 参数表(Parameter Table) 度量值模板(Period Table)
作者:马丁叔叔
链接:http://www.cnblogs.com/lizardbi/p/DAX-PATTERN-POWERBI-Parameter-Table-Period-Table-Extension.html
数据模型:

要点:
这里涉及到一个trick -- switch 语句。 通过switch语句把所选的度量值设到一个generalized的中间变量,再用这个中间变量来计算YTD,MoM等等的值。
中间变量
_tempMeasure = IF (
HASONEVALUE ( 'Measure Selection'[Measure] ),
SWITCH (VALUES ( 'Measure Selection'[Measure] ),
"Cost", [#Cost]
,"Revenue", [#Revenue]
,"Profit", [#Profit]
,BLANK())
,[#Cost])
中间变量前值
_prevMeasureValue = CALCULATE([_tempMeasure]
, PARALLELPERIOD('Date'[Date], -, MONTH)
, FILTER(ALL('Date'),'Date'[Date]<= MAX('Fact'[Date]) )
)
YTD
YTD = CALCULATE([_tempMeasure]
, DATESYTD('Date'[Date],"12/31")
, FILTER(ALL('Date'),'Date'[Date]<= MAX('Fact'[Date]) ))
MoM(环比)
MoM % = DIVIDE([_tempMeasure] - [_prevMeasureValue], [_prevMeasureValue])
最终效果
参照 上文的PowerBI显示。
DAX/PowerBI系列 - 参数表(Parameter Table) 度量值模板的更多相关文章
- DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N)
DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N) 难度: ★☆☆☆☆(1星) 适用范围: ★★★☆☆(3星) 概况:此文为DAX/PowerBI系 ...
- DAX/PowerBI系列 - 参数表(Parameter Table)
DAX/PowerBI系列 - 参数表(Parameter Table) 难度: ★☆☆☆☆(1星) 适用范围: ★★★★☆(4星) 概况: 这个模式比较简单灵活,而且很实用.所用的DAX语句也比较简 ...
- (玩起来)DAX/PowerBI系列 - 参数表(Parameter Table) - 多时间段数值对比
盆友们,边看文章边玩,请耐心等待PowerBI load出来~~~~ (7.8秒钟) DAX/PowerBI系列 - 参数表(Parameter Table) - 多时间段数值对比 难度: ★☆☆☆☆ ...
- DAX/PowerBI系列 - 关于时间系列 - 时间相关数值比较 - 用非自带函数
DAX/PowerBI系列 - 关于时间系列 - 时间相关数值比较 - 用非自带函数 文末有彩蛋,解决蛋疼问题 难度: ★★☆☆☆(2星) 适用范围: ★★★☆☆(3星) 概况: 基于时间的汇总可能是 ...
- DAX/PowerBI系列 - 库存总价值(Inventory Value)
DAX/PowerBI系列 - 库存总价值(Inventory Value) 欢迎交流与骚扰 难度: ★★☆☆☆(2星) 适用: ★★☆☆☆(2星) 概况: 有多少货(库存)当然重要(对于运营人员), ...
- DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate Date Dimension)
跟大家的交流是我的动力. :) DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate Date Dimension) 难度: ★☆☆☆☆(1星) 适用范围: ★ ...
- DAX/PowerBI系列 - 父子层级(Parent-Child Hierarchy)
DAX/PowerBI系列 - 父子层级(Parent-Child Hierarchy)参考文章见最后 难度: ◆◆◇◇◇(2星) 应用场景: 其实很多时候对数据汇总都会有层级关系的问题,不过说的不是 ...
- DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate TIME Dimension)
DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate TIME Dimension) 难度: ★☆☆☆☆(1星) 适用范围: ★★★★★(5星) 这个时间系列想 ...
- DAX/PowerBI系列 - 累计总计(Cumulative Total)
DAX/PowerBI系列 - 累计总计(Cumulative Total) 2017/07/23 更新:B列公式(见最后) 难度: ★★☆☆☆(2星) 适用: ★★☆☆☆(2星) 概况: 这个模式普 ...
随机推荐
- IndexedDB 教程
IndexedDB 教程 IndexedDB 是一个基于 JavaScript 的面向对象的事务型数据库.有了 LocalStorage 和 Cookies,为什么还要推出 indexedDB 呢?其 ...
- [MSSQL]表变量和临时表的区别
一.表变量 表变量在SQL Server 2000中首次被引入.表变量的具体定义包括列定义,列名,数据类型和约束.而在表变量中可以使用的约束包括主键约束,唯一约束,NULL约束和CHECK约束(外键约 ...
- SpringBoot集成RabbitMQ消息队列搭建与ACK消息确认入门
1.RabbitMQ介绍 RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性.扩展性.高可用性等方面表现不俗.Rabbi ...
- PON
PON(Passive Optical Network:无源光纤网络). PON(无源光网络)是指(光配线网中)不含有任何电子器件及电子电源,ODN全部由光分路器(Splitter)等无源器件组成,不 ...
- 【GMT43智能液晶模块】例程十三:FATFS实验——文件操作
实验原理: STM32F429上带有SDIO控制器,GMT43液晶模块上将SDIO连接到TF卡座.本实验 将Micro SD卡插入TF卡座上即可.通过FATFS创建test.txt文件,并且写入数据0 ...
- [Z] SQL SERVER 的前世今生--各版本功能对比
https://www.cnblogs.com/OwenZeng/p/6813143.html
- python程序打包成.exe
安装pyinstaller 方法一:使用pip install pyinstaller 方法二:如果是下载github上的包之后手动安装 包下载 亲测可用:Pyinstaller下载地址,GitHub ...
- [原]win10下编译lua5.3.4
1.下载lua源码http://www.lua.org/ftp/ 2.打开vs2012工具命令提示 3.cd 到lua源码的src目录 4.依次执行以下代码 cl /MD /O2 /c /DLUA_B ...
- linux系统搜索文件中关键字的位置
grep -Irn “ubuntu”-------即查出文件的目录路径
- 真-关闭win10安全中心(windows defender)
狂客原创,转载请注明.侵权必究 第一 任务管理器 启动项 禁用 第二 使用win+R,打开运行命令输入:gpedit.msc然后点击确定 在管理模块下找到Windows组件,接续打开下拉菜单,找到Wi ...