DAX统计 - RANKX函数



描述

返回表中每行数字列表中数字的排名。

语法

RANKX (<table>, <expression>, [<value>], [<order>], [<ties>])

参数

序号 参数及描述
1

table

任何返回数据表的DAX表达式,该表达式在其中进行计算。

2

expression

任何返回单个标量值的DAX表达式。

该表达式针对table的每一行进行计算,以生成所有可能的排名值。

3

value

可选。

任何返回单个标量值的DAX表达式,需要查找其排名的值。

如果省略,则使用当前行的expression的值。

4

order

可选。

指定如何对value进行排序的值,从低到高或从高到低。

ASC:按columnName的升序排序。

DESC:按columnName的降序排序。

如果省略,则默认为DESC。

5

ties

可选。

一个枚举,用于定义在存在并列时如何确定排名。

Skip:在并列之后,下一个排名值是并列的排名值加上并列值的计数。例如,如果五个(5)值与排名8并列,则下一个值将获得排名13 (8 + 5)。

当省略ties参数时,这是默认值。

Dense:在并列之后,下一个排名值是下一个排名值。例如,如果五个(5)值与排名8并列,则下一个值将获得排名9。

返回值

  • 如果指定了参数值 - 返回value在table的所有行的expression的所有可能值中的排名。

  • 如果没有指定参数值 - 返回当前行的expression的值在table的所有行的expression的所有可能值中的排名。

备注

如果表达式或值计算结果为BLANK,则对于所有导致数字的表达式,将其视为0(零),或者对于所有文本表达式,将其视为空文本。

如果某个值不在expression的所有可能值中,则RANKX会临时将value添加到expression的值中,并重新计算RANKX以确定value的正确排名。

示例

= RANKX (Sales,Sales[Sales Amount],,DESC) 
dax_functions_statistical.htm
广告