前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >排名 RankX和TopN

排名 RankX和TopN

作者头像
公众号PowerBI大师
发布2019-08-07 10:09:53
1.2K0
发布2019-08-07 10:09:53
举报

又是一对好用的函数,特别是对于营销分析,做业绩排名,当然对于学生考试成绩、运动比赛成绩的排名也不在话下,应用场景就根据自己需要来发掘吧,授之以鱼不如授之以渔,我这里只讲通用的方法。

1 RankX

RankX的基本表达式与SUMX相似。

比如我们想要把城市的销售量由大到小排名,[销售量排名] = RankX(All('区域负责人名单'), [销售量])

这是RankX的基本使用,我想有了之前对SUMX类函数的学习,理解这三个步骤并不难。注意到表中的江门、马鞍山、唐山、襄阳排名为7,之后的排名就跳到了11,而不是第8名。其实RankX设计了多种可选项功能,你可以根据需要来设定排名方法。

第一个可选项是值,如果在这里学习它会消耗很多精力,只有极其少数的情况我们才会用到这个值,所以请允许我坚持投入产出最大化的原则,在这里忽略这一项,即保持默认的空白值。(如果有人遇到实际应用情况,可以与我留言探讨)。

第二个可选项是调整顺序,上面的例子是默认0降序排名,选1为升序(或用ASC代表升序,DESC代表降序)。

第三个可选项即如果我们想把东莞、肇庆、中山这几个排名调整为8,就用紧凑型,选择Dense)

不用担心去背下这些编码,别忘了在PowerBI中有智能提示的功能。

2 TopN

TopN不带X,但是TopN达到的效果与RankX有异曲同工之妙。它的特别之处是返回的不是值,是前N行的表,所以需要与Calculate或其他计算类函数结合起来使用。沿用上面的例子,如何求排名前5位的城市销售量呢?[前5名销售量] = Calculate([销售量],TopN(5,all('区域负责人名单'),[销售量]))

TopN返回的表更改了矩阵表中的初始上下文,所以每一行的结果都为136。也许你会问这样的计算有什么用?传统的Excel方法也可以很容易算出来。那么我们现在来做一个有意义的事,创建一个度量值[前五名城市销售量]占比。利用学过的All函数使Divide的分母为所有城市的总销售量。做一个折线图,轴为日历表中的年份月份,你就会得到这个占比。

这个数字就有意义了,为什么前五名城市的占比会逐月持续下降呢?是因为城市分店数量的增加?还是新老店业绩发展期的交替?从中你可以继续去发掘业务的原因,进一步分析。

这个时候,如果老板想要看前10名的情况,你只需要把TopN公式里的5改成10;如果想要按季度分析,只要把日历表中的年份月份换成年份季度,如果想要计算销售额而不是销售量,那就把销售量度量值都替换成销售额。如果你想用传统的Excel来达到这个目的...我懒得写了...还是用度量值来个弯道超车吧。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI大师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档