RANK.EQ 函数 (DAX)
返回某个数字在数字列表中的排名。
语法
RANK.EQ(<value>, <columnName>[, <order>])
参数
value
任何返回要找到其排名的单个标量值的 DAX 表达式。 表达式将仅计算一次,并且是在计算此函数之前,然后其值传递到参数列表。columnName
确定排名所依据的现有列的名称。 它不能是表达式或使用以下函数创建的列:ADDCOLUMNS、ROW 或 SUMMARIZE。order
(可选)指定如何对 number 排名的值,从低到高或从高到低:值
备选值
说明
0(零)
FALSE
按 columnName 的降序排名。 如果 value 等于 columnName 中的最高数字,则 RANK.EQ 为 1。
1
TRUE
按 columnName 的升序排名。 如果 value 等于 columnName 中的最低数字,则 RANK.EQ 为 1。
返回值
指示 value 在 columnName 中的各个数字间的排名的数字。
注释
columnName 不能指使用以下函数创建的任何列:ADDCOLUMNS、ROW 或 SUMMARIZE。
如果 value 不在 columnName 中或值为空白,则 RANK.EQ 返回空白值。
value 的重复值收到同样的排名值;分配的下一个排名值将是该排名值加上重复值的数目。 例如,如果五 (5) 个值与排名 11 等同,则下一个值将获得排名 16 (11 + 5)。
示例
以下示例创建一个计算列,该列对 InternetSales_USD 表的 SalesAmount_USD 列中的值(针对同一个列中的所有数字)进行排名。
=RANK.EQ(InternetSales_USD[SalesAmount_USD], InternetSales_USD[SalesAmount_USD])
下面的示例根据给定的示例对值的子集进行排名。 假定您具有一个表,其中包含当地学生及他们在特定统考中的成绩;此外,您具有在这次统考中的全部分数。 以下计算列将向您提供每个当地学生的统考排名。
=RANK.EQ(Students[Test_Score], NationalScores[Test_Score])