DAX分享25:Power BI Desktop分析窗格中的百分位数线Percentile line

浏览: 1178

在Power BI Desktop的分析窗格中,可以添加动态参考行。比如常数线Constant line,最大Max line最小Min line数线,平均线Average line,中值线Median line或者百分位数线Percentile line。

并不是所有的视觉对象都可以有分析窗格。画“X”的表示有的,灰色的是没有的。常数线也有Y轴的常数线和X轴的常数线区别。散点图还有对称着色Symmetry shading和Ratio line。

虽然这些视觉对象默认应该包括这些动态参考行,但是也根据具体视觉对象中添加的字段,来决定显示一个或者多个动态参考行。要确保合理使用视觉对象,才会出现合理的动态参考行。

大多数视觉对象,我觉得大家都用的很好的。也有几个我觉得好玩的视觉对象,后面会写在tips里面,本文主要是在动态参考行里通过平均线Average line,中值线Median line对比来讲百分位数线Percentile line。最后写个DAX来校验下自己的理解。

首先,创建一个簇状柱形图。显示by Color的Quantity还有一个Brand和一个Color的筛选。

在簇状柱形图的分析窗格添加平均线Average line和中值线Median line。

点击“Add”添加平均线Average line。

点击“Add”添加中值线Median line。

然后添加百分数为80%的百分位数线。

得到如下结果。

平均线Average line不用多说,就是表示一组数的平均值。

创建一个度量值Measures,DAX表达式如下:

Average = AVERAGEX(SUMMARIZE(VALUES('Product'[Color]),'Product'[Color],"tt",SUM(Sales[Quantity])),[tt])

这里就是先根据Color来聚合Quantity,然后根据聚合值做平均(除以Quantity非空的Color的总数)。

中值线Median line。中值的意思是说,在一组数据中,先按照大小排序,然后排序好之后,取最中间的数字。如果是奇数个数字,直接取中间的数字即可,如果是偶数个数字,取中间两个数字的平均值。

例如一组数,4, 2, 8, 10, 19。先排序2,4,8,9,10。中值数就是8。如果是4,2,8,7,10,19,中值数就是(7+8)/2=7.5 .

在最大和最小值差异很大的时候,用中值数比平均数更能有效分析数据。这就是你被平均了的工资。比如有的人工资很高很高,你的工资很低很低,如果算平均工资的话,这个平均数你就会觉得不是很可靠了。这个时候如果用中值数。算得的是排序下中间范围左右的工资。在一个大范围内,相对合理。

中值线Median line是百分位数线Percentile line的特殊情况,当我们设置百分位数Percentile为50%的时候,就是中值线。

新建一个度量值Measures,DAX内容如下

Median = PERCENTILEX.INC(SUMMARIZE(VALUES('Product'[Color]),'Product'[Color],"Median",SUM(Sales[Quantity])),[Median],0.5)

按照这个思路,之前设置的Percentile为80%的百分位数线是怎么算的呢?这里有一个公式k(n-1)+1。其中k是百分比的数,n是一共有多少个数。

如果在这个color by quantity的例子里面。k就是0.8,n就是color的个数,是16.所以当计算Percentile为80%的百分位数线的时候,0.8*(16-1)+1=13所以Percentile为80%的百分位数线的值就为从小到大数color的quantity,其中第13个color的quantity的值。

创建新的度量值Measures,DAX内容如下:

80_percentile = PERCENTILEX.INC(SUMMARIZE(VALUES('Product'[Color]),'Product'[Color],"80percentile",SUM(Sales[Quantity])),[80percentile],0.8)

这里80%percentile的值其实就是第13个color的quantity的值。

在没有任何筛选的条件下,对比一下动态参考行的三条线和DAX的结果。

在随便筛选一些Color和Brand的条件下,对比一下动态参考行的三条线和DAX的结果。

结果都一致~~

好累啊。大概应该讲清楚了吧~~不明白的可以私信,包学包会。

谢谢。

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

0 个评论

要回复文章请先登录注册