RANKX
Se aplica a:columna CalculadaTabla calculadaMeasurecálculo visual
Devuelve la clasificación de un número en una lista de números para cada fila del argumento table
.
Sintaxis
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
Parámetros
table
expresión Any DAX que devuelve una tabla de datos sobre la que se evalúa la expresión.
expression
expresión Any DAX que devuelve un único valueescalar. La expresión se evalúa para cada fila de table
, para generateall posible values para la clasificación. Consulte la sección de comentarios para comprender el comportamiento de la función cuando expression
se evalúa como BLANK.
value
(opcional) Expresión DAX que devuelve un único value escalar cuyo rank se va a encontrar. Consulte la sección de comentarios para comprender el comportamiento de la función cuando value
se not se encuentra en la expresión.
Cuando se omite el parámetro value
, se usa en su lugar la value de expresión en la fila actual.
order
(opcional) Un value que especifica cómo rankvalue
, bajo a alto or alto a bajo:
value | value alternativos | Descripción |
---|---|---|
0 (cero) | FALSE |
Clasifica en orden descendente de values de expresión.
If
value es igual al número más alto de la expresión y, a continuación, RANKX devuelve 1. Este es el value predeterminado cuando se omite el parámetro order. |
1 | TRUE |
Clasifica en orden ascendente los valores de la expresión. If value es igual al número más bajo de la expresión y, a continuación, RANKX devuelve 1. |
ties
(opcional) Enumeración que define cómo determinar la clasificación cuando hay vínculos.
enumeración | Descripción |
---|---|
Skip |
El nextrankvalue, después de un empate, es el rankvalue del empate más el count de values. Por ejemplo, if cinco (5) values están vinculados con un rank de 11, el nextvalue recibirá un rank de 16 (11 + 5). Este es el value predeterminado cuando se omite ties parámetro. |
Dense |
El nextrankvalue, después de un empate, es el nextrankvalue. Por ejemplo, if cinco (5) values están vinculados con un rank de 11, el nextvalue recibirá un rank de 12. |
Devolver value
Número rank de value
entre all posible values de expression
evaluados para all filas de números de table
.
Comentarios
If
expression
orvalue
se evalúa como BLANK se trata como 0 (cero) para all expresiones que dan como resultado un número, or como texto vacío para all expresiones de texto.If
value
se not entre all posibles values deexpression
, RANKX agrega temporalmentevalue
al values desdeexpression
and vuelve a evaluar RANKX para determinar la rank adecuada devalue
.Los argumentos opcionales se pueden omitir colocando una coma vacía (,) en la lista de argumentos, como
RANKX(Inventory, [InventoryCost],,,"Dense")
.Comparaciones de igualdad related (
=
,<
,>
,>=
and<=
) entre values con el número decimal tipo de datos puede devolver resultados inesperados al usar RANKX función. Los resultados incorrectos pueden producirse porque values con tipo de datos número decimal se almacenan como números de punto flotante IEEE Standard 754 and tienen limitaciones inherentes en su precisión. Para evitar resultados inesperados, cambie el tipo de datos a Fixed número decimalor realice un redondeo forzado mediante ROUND.Esta función se not se admite para su uso en el modo DirectQuery cuando se usa en columnas calculadas or reglas de seguridad de nivel de fila (RLS).
Ejemplo
La siguiente columna calculada de la tabla Products calcula la clasificación de ventas para cada product en el canal de Internet.
= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))