Compartir a través de


RANKX

Se aplica a:columna Calculadatabla calculadaMedidacá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 valor escalar. La expresión se evalúa para cada fila de table, para generar todos los valores posibles 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 valor escalar cuyo rango se va a encontrar. Consulte la sección comentarios para comprender el comportamiento de la función cuando no se encuentra value en la expresión.

Cuando se omite el parámetro value, se usa en su lugar el valor de expresión en la fila actual.

order (opcional) Valor que especifica cómo clasificar value, bajo a alto o alto a bajo:

valor valor alternativo Descripción
0 (cero) FALSE Clasifica en orden descendente de valores de expresión. Si el valor es igual al número más alto de la expresión, RANKX devuelve 1.

Este es el valor predeterminado cuando se omite el parámetro order.
1 TRUE Clasifica en orden ascendente los valores de la expresión. Si el valor es igual al número más bajo de la expresió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 siguiente valor de clasificación, después de un empate, es el valor de clasificación del empate más el recuento de valores vinculados. Por ejemplo, si cinco (5) valores están vinculados con un rango de 11, el siguiente valor recibirá un rango de 16 (11 + 5).

Este es el valor predeterminado cuando se omite ties parámetro.
Dense El siguiente valor de clasificación, después de un empate, es el siguiente valor de clasificación. Por ejemplo, si cinco (5) valores están vinculados con un rango de 11, el siguiente valor recibirá un rango de 12.

Valor devuelto

Número de rango de value entre todos los valores posibles de expression evaluados para todas las filas de números de table.

Comentarios

  • Si expression o value se evalúa como BLANK se trata como 0 (cero) para todas las expresiones que dan como resultado un número o como texto vacío para todas las expresiones de texto.

  • Si value no está entre todos los valores posibles de expression, RANKX agrega temporalmente value a los valores de expression y vuelve a evaluar RANKX para determinar la clasificación adecuada de value.

  • Los argumentos opcionales se pueden omitir colocando una coma vacía (,) en la lista de argumentos, como RANKX(Inventory, [InventoryCost],,,"Dense").

  • Comparaciones relacionadas con la igualdad (=, <, >, >= y <=) entre los valores con el número decimal tipo de datos puede devolver resultados inesperados al usar RANKX función. Los resultados incorrectos pueden producirse porque los valores con número decimal tipo de datos se almacenan como números de punto flotante IEEE Standard 754 y tienen limitaciones inherentes en su precisión. Para evitar resultados inesperados, cambie el tipo de datos a número decimal fijo o realice un redondeo forzado mediante ROUND.

  • Esta función no se admite para su uso en el modo DirectQuery cuando se usa en columnas calculadas o reglas de seguridad de nivel de fila (RLS).

Ejemplo

La siguiente columna calculada de la tabla Products calcula la clasificación de ventas de cada producto en el canal de Internet.

= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))