DAX分享7:用DAX在PowerBI中灵活使用parameter来计算累计X月的和

浏览: 2124

这个分享6和分享7,其实上周就写好了,忍住了整个假期。要保证一周两发嘛,所以就昨天和今天发了。我是不是很厉害!

图7.1.png

DAX分享3的时候,我们介绍了用DAX在PowerBI中计算running 12 months average(就是累计12个月的average,也有人叫moving 12 months。一样的东西。)

如果不知道DAX分享3的内容,请移步这个链接https://mp.weixin.qq.com/s/KrFvGFLU4CWh5mCudBcNQQ

或者直接关注DAX Share看DAX分享3的内容。

今天我们要做的结果如下,在input the month的地方,随便你输入几个月的值,我们的paramter 字段就会计算几个月的running total,具体计算了几个月的总和,可以参考month2. 当前我输入的值是10.

结果如下

图7.2.png

是不是很好玩的样子?Er...其实贼简单~~唉...一种说出来就不好玩了的感觉.

首先,新建一个变量(New Parameter)。

图7.3.png

可以根据你的需要修改里面的数值。这个因为我们输入的是month,所以用whole number。都是字面意思,我就不多解释了。默认值(Default)你可以写也可以不写。添加这个切片到页面(Add slicer to this page)是默认打钩的。

确认之后得到下面的内容。

图7.4.png

其他的属性我就不多说了。只提一下三个.Slicer header,Slider,Title。

Slicer header就是这个parameter的名字,之前你起了什么名字就显示什么名字。我不喜欢这个显示,右侧’on‘请向左移。可以在title里面从新起名字。Slider也左移,把那个线去掉,不显示。

图7.5p.png

paremeter搞定,建好之后,你可以看到右侧FIELDS里面出现了一个Parametre的表。这个很有趣的。Parameter 计算字段(Calculate Column)显示的是你对paramter的定义;Paramter Value取的就是你当前输入的parameter的数值。下次分享我们可以分享下SELECTEDVALUE,应该有点意思。

Parameter = GENERATESERIES(0, 60, 1)

Parameter Value = SELECTEDVALUE(Parameter[Parameter], "")

下一步就是写DAX了。其实也很简单啦。思路和DAX分享3中的一样。

就是把一个固定值换成了变量定义的currentinput。

改个名字parameter total和par month。

定义如下:

paremeter total =

VAR currentinput = SELECTEDVALUE(Parameter[Parameter],12)

RETURN

SUMX(

DATESINPERIOD('Date'[Date],LASTDATE('Date'[Date]),-currentinput,MONTH)

,CALCULATE(SUM(financials[ Sales])) )


par months =

VAR currentinput = SELECTEDVALUE(Parameter[Parameter],12)

RETURN

CALCULATE(

DISTINCTCOUNT(financials[Date])

,DATESINPERIOD('Date'[Date],LASTDATE('Date'[Date]),-currentinput,MONTH)

)

我输入了一个3,结果如下:

图7.6.png

说起来很高深的样子,其实弄下来都很简单的。so easy!

图7.7.png

随便关注不关注DAX Share吧。二维码总归要留下的。

banmi.jpg

推荐 0
本文由 懒胖子 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册