数据可视化之powerBI技巧(十二)学会这几个度量值,轻松获取前N名

数据中的明细项一般都有很多,可是我们关注的往往只是前几名,所以在报表中只展示关注的部分,就十分常用。

有了上篇(这几个示例,帮你深入理解RANKX排名)关于排名的铺垫,仅显示前N名就简单多了。

依然以上篇文章数据中的数据为例,按销售额的高低来显示前几名的产品,使用最常用的排名方式,

排名 = RANKX(ALL('产品'),[销售额])

有了这个排名,如果只想显示前5名,就可以这样写度量值,

 

销售额 前5名=
CALCULATE(
[销售额],
FILTER(VALUES('产品'),[排名]<=5)
)

 

在矩阵中展示一下,

 

如果想关注前十名,将上述度量值中的5改成10即可,不过关注的数量总是会变化的,不能每次都重新写个度量值,其实也可以利用参数动态显示前N名。

关于如何使用参数,以前的文章中已经介绍过:创建PowerBI「参数」轻松搞定动态分析

直接创建一个参数,比如从1到20,

 

然后在画布上会自动出现一个切片器,重新写一个度量值,把排名的值替换为刚建立的参数,

 

销售额 前N名 =
CALCULATE(
[销售额],
FILTER(
VALUES('产品'),
[排名]<=SELECTEDVALUE('参数'[参数])
)
)

这样就可以随心所欲的查看前N名了,

 

 

为了突出显示销售冠军是哪个产品,还可以单独写个度量值把这个产品名称找出来,

销量第一的产品 =
CALCULATE(
FIRSTNONBLANK('产品'[产品名称],1),
FILTER('产品',[排名]=1)
)

 

用卡片图展示出来,

 

 

同理,可以把1改成2、3,就是销售额额的第二名和第三名。

所有的这些排名都是可以随其他维度的筛选动态变化的,比如不同时间段的排名情况,

 

总结

 

想动态展示前N名的名称和金额,可以用矩阵或者条形图等来展示,其中度量值参考这个写法:

 

销售额 前N名 =
CALCULATE([销售额],
FILTER(VALUES('产品'),
[排名]<=SELECTEDVALUE('参数'[参数])))

 

如果只想找出排名第几的是谁,一般使用卡片图来展示,其中度量值参考如下写法:

 

销量第N的产品 =
CALCULATE(
FIRSTNONBLANK('产品'[产品名称],1),
FILTER('产品',[排名]=N))

下次遇到类似情况是不是就知道怎么做啦:)

原文地址:https://www.cnblogs.com/qiu-hua/p/12803582.html