gpt4 book ai didi

#Powerbi10分钟,理解Rankx排名函数

转载 作者:我是一只小鸟 更新时间:2023-07-14 14:31:16 26 4
gpt4 key购买 nike

一:本文思维导图及示例数据图

1.1思维导图

1.2  示例数据图

二:度量值示例

2.1 函数简介

RANKX 首先为的每一行计值表达式,将结果临时存储为一个值列表。然后在当前筛选上下文中计值,将得到的结果与列表中的值进行比较,根据排名规则和的设置,返回最终排名.

2.2 产品排名(稠密)度量值

这个公式使用RANKX函数计算每个产品的销售排名。它使用稠密排名,这意味着当有相同值时,排名将紧密排列。 - 第一个参数`ALL('销售模拟表'[产品])`是一个表,它定义了要进行排名的数据集。在这种情况下,我们使用`ALL`函数来移除任何筛选器,以便在整个`'销售模拟表'[产品]`列中计算排名。 - 第二个参数`[产品销量]`是一个表达式,它返回每行的产品销量。RANKX函数将使用这个表达式的值来计算排名。 - 第三个参数被省略了。这意味着RANKX函数将使用第二个参数`[产品销量]`的值作为要查找排名的值。 - 第四个参数`DESC`指定排名的顺序。在这种情况下,我们使用降序排名。 - 第五个参数`DENSE`定义了当有相同值时如何确定排名。在这种情况下,我们使用稠密排名。 整个公式被包含在一个`IF`函数中,它检查是否只选择了一个产品。如果只选择了一个产品,那么公式将返回该产品的排名。否则,整个公式的结果为空.

                          产品排名(稠密) =
                          
                             
IF (
    HASONEVALUE ( 
                          
                          
                            '
                          
                          
                            销售模拟表
                          
                          
                            '
                          
                          
                            [产品] ),
    RANKX (
        ALL ( 
                          
                          
                            '
                          
                          
                            销售模拟表
                          
                          
                            '
                          
                          [产品] ),   ---
                          
                            第一参数,table,表或者返回表的表达式
        [产品销量],   
                          
                          ---
                          
                            第二参数,expression,沿着table每行计值的表达式
        ,   
                          
                          ---
                          
                            value,标量值,指单一的数值,可以是数字、数量、文本、日期或者布尔值
        DESC,   
                          
                          ---
                          
                            排序依据,
        DENSE   
                          
                          ---
                          
                            处理同排名的依据,skip,稀疏排名,sense,稠密排名
    )
)
                          
                        

2.3  产品排名(稀疏)(HASONEVALUE)

 同上,只是这里没有选择 TIES 参数,所以默认为SKIP参数 。

                          产品排名(稀疏)(HASONEVALUE) =
                          
                             
IF (
    HASONEVALUE ( 
                          
                          
                            '
                          
                          
                            销售模拟表
                          
                          
                            '
                          
                          
                            [产品] ),
    RANKX (
        ALL ( 
                          
                          
                            '
                          
                          
                            销售模拟表
                          
                          
                            '
                          
                          
                            [产品] ),
        [产品销量],
        ,
        DESC
    )
)
                          
                        

 2.4  产品排名(稀疏)(SELECTEDVALUE)

这个公式使用RANKX函数计算每个产品的销售排名。它使用跳过排名,这意味着当有相同值时,排名将跳过相同值的数量.

  • 第一个参数 ALL('销售模拟表'[产品]) 是一个表,它定义了要进行排名的数据集。在这种情况下,我们使用 ALL 函数来移除任何筛选器,以便在整个 '销售模拟表'[产品] 列中计算排名。
  • 第二个参数 [产品销量] 是一个表达式,它返回每行的产品销量。RANKX函数将使用这个表达式的值来计算排名。
  • 第三个参数被省略了。这意味着RANKX函数将使用第二个参数 [产品销量] 的值作为要查找排名的值。
  • 第四个参数 DESC 指定排名的顺序。在这种情况下,我们使用降序排名。
  • 第五个参数 SKIP 定义了当有相同值时如何确定排名。在这种情况下,我们使用跳过排名。

整个公式被包含在一个 IF 函数中,它检查是否只选择了一个产品。如果只选择了一个产品,那么公式将返回该产品的排名。否则,整个公式的结果为空.

与我们上面的公式不同,这个公式使用 SELECTEDVALUE 函数来检查是否只选择了一个产品。如果只选择了一个产品, SELECTEDVALUE 函数将返回该产品的值。否则,它将返回空值.

我们使用 ISBLANK 函数来检查 SELECTEDVALUE 函数的返回值是否为空。如果返回值为空,那么整个公式的结果也为空。否则,我们使用RANKX函数计算产品的排名.

                          产品排名(稀疏)(SELECTEDVALUE) =
                          
                             
IF (
    ISBLANK (
        SELECTEDVALUE ( 
                          
                          
                            '
                          
                          
                            销售模拟表
                          
                          
                            '
                          
                          
                            [产品] )
    ),
    BLANK (),
    RANKX (
        ALL ( 
                          
                          
                            '
                          
                          
                            销售模拟表
                          
                          
                            '
                          
                          
                            [产品] ),
        [产品销量],
        ,
        DESC,
        SKIP
    )
)
                          
                        

2.5  可见排名

有时我需要只统计当前可见的产品排名,那么,只需要将上方的ALL更改为ALLSELECTED即可 。

                          产品排名(稀疏)_只统计可见排名 =
                          
                             
IF (
    ISBLANK (
        SELECTEDVALUE ( 
                          
                          
                            '
                          
                          
                            销售模拟表
                          
                          
                            '
                          
                          
                            [产品] )
    ),
    BLANK (),
    RANKX (
        ALLSELECTED ( 
                          
                          
                            '
                          
                          
                            销售模拟表
                          
                          
                            '
                          
                          
                            [产品] ),
        [产品销量],
        ,
        DESC,
        SKIP
    )
)
                          
                        

 比如,这里,我们只选择了A,B,C,F四个产品,那么排名逻辑就会只排名现在已经被选择的产品,而前面的度量值会按所有产品进行排名.

  。

三:注意事项

不要忘记ALL函数以及第二参数CALCULATE.

其他注意事项,后续博主使用中如有问题,会单独开文罗列.

  。

以上,如果本文有帮到你,希望点赞支持一下。感谢! 。

最后此篇关于#Powerbi10分钟,理解Rankx排名函数的文章就讲到这里了,如果你想了解更多关于#Powerbi10分钟,理解Rankx排名函数的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com