当前位置:首页 > 经验

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应用

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章