我花了一点时间试图解决一个棘手的DAX表达式,那就是如何动态计算方差,下面我们认识一下这两个函数:
PARALLELPERIOD 和 SAMEPERIODLASTYEAR
它能实现我们想要的结果,我们可以选择随机区域,并且根据切片器选择不同时间段,智能得到时间段的差异。
先看一下我的数据:
下面我们创建一个 Previous Period度量值:
首先创建了一个变量来获取Current period值
VAR CurrentPeriod = MAX(Table1[Period])
然后我创建了另一个表变量来从切片器中获取选定的值。我使用了带有ALLSelected()的CalculatedTable,使得上下文都有效。
VAR SELECTEDVALUES
= CALCULATETABLE(VALUES ( Table1[Period] ),ALLSELECTED(Table1))
紧接着我创建了另一个变量来获得基于Filter的早期周期值。
VAR PP=
CALCULATE(MAX(Table1[Period]),FILTER(Selectedvalues,Table1[Period]<CurrentPeriod))
最后,在Return语句中,我使用带有SUM和过滤器的Value列。这是度量的完整的DAX表达式,如下:
附上所有代码
方差值
1.Power BI免费下载:http://www.yeacer.com/
Microsoft Power BI Desktop中文最新版:下载地址
2.欢迎加入的Power BI技术群,目前正在学习阶段,有兴趣的朋友可以一起学习讨论。
Power Data技术交流群:702966126 (验证注明:博客园Power BI)
更多精彩内容请关注微信公众号:悦策PowerBI
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,作者博客:https://www.cnblogs.com/yeacer/