rank函数怎么用(计算机rank函数操作方法)


前面大概用了两篇,把RANKX排名函数进行了详细的解释和演示,全是偏理论,实际中实用性不强,所以这一篇再来举例排名函数的实际使用案例。突出显示前三名和后三名,动态展示前N条数据,前N%商品销售占比,下面分别演示一下。

【突出显示前/后三名】

这是一个在数据可视化展示中很常用的标记,把做得好的和做得不好的数据突出标记出来。思路很简单,首先计算出排名,然后IF语句判断一下是否小于等于3就行了,最后自定义颜色进行展示即可。

首先计算出每个产品的排名,具体使用方法可参考前面一篇,有详细的解释,DAX语句如下↓

品牌排名 = 
RANKX(
    ALL('产品表'[品牌]),
    [销售金额(万)],,
    DESC,
    Skip)

然后在写一个颜色判断的语句,如果小于等于3就是绿色,DAX写法如下↓

颜色判断 = IF(
    [品牌排名]<=3,
    "#91C851",
    BLANK()
)
PowerBI排名函数RANKX应用

我们可以发现,在颜色判断哪个地方,前三名就是我们自定义的颜色,然后我们只需要把颜色判断这个公式应用到对应的字段,满足条件的前三名就会显示我们自定义的颜色↓

PowerBI排名函数RANKX应用
PowerBI排名函数RANKX应用

前三名就被我们标记上颜色了,下面还需要把后三名标记成红色,思路是一样的,只是排名的时候按照升序排列就行了,然后在IF判断里面加一层判断就可以了,两个DAX语法如下↓

品牌反向排名 = 
RANKX(
    ALL('产品表'[品牌]),
    [销售金额(万)],,
    ASC,
    Skip)
颜色判断 = IF(
    [品牌排名]<=3,
    "#91C851",
    IF(
        [品牌反向排名]<=3,
        "#DB5E5E",
        BLANK()
    )
)
PowerBI排名函数RANKX应用

好了,突出显示前/后三名就完成了,可以根据实际情况更改名次,改一下数字就行了,然后把多余的辅助列删除了就可以了。

【动态展示前N条数据】

下面一个案例是动态展示前N条数据,我们还是以排名销售数量来举例。首先还是要计算出每个品牌的排名情况,然后需要一个动态的辅助列,用来筛选我们需要动态展示前多少名的数据,DAX写法如下↓

前N名数据 = 
CALCULATE(
    [销售金额(万)],
    FILTER(
        VALUES('产品表'),
        [品牌排名]<=SELECTEDVALUE('动态排名'[排名])
    )
)
PowerBI排名函数RANKX应用

【前N%商品销售占比】

有的时候我们会关心销售靠前的商品销售占比情况,就可以先求出前面比例的金额,然后根据产品排名来得到所需的占比。我们这里求前30%商品金额的占比情况,DAX写法如下↓

前30%商品金额 = 
VAR ProductPercent = DISTINCTCOUNT('产品表'[品牌])*0.3
RETURN
CALCULATE([销售金额(万)],
    FILTER(
        VALUES('产品表'[品牌]),
        RANKX(VALUES('产品表'[品牌]),[销售金额(万)],,DESC)<=ProductPercent
    )
)
PowerBI排名函数RANKX应用
前30%金额占比 = DIVIDE([前30%商品金额],[销售金额(万)])
PowerBI排名函数RANKX应用

当然这里也可以增加一个动态的选择,方法和上面第二个一样,这里就不演示了。

PowerBI排名函数RANKX应用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论