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])