RANKX

Se aplica a:Columna calculadaTabla calculadaMedidaCálculo visual

Devuelve la clasificación de un número en una lista de números de cada fila del argumento table.

Sintaxis

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

Parámetros

table
Cualquier expresión DAX que devuelve una tabla de datos en la que se evalúa la expresión.

expression
Cualquier expresión DAX que devuelve un valor escalar único. La expresión se evalúa para cada fila de table, para generar todos los valores posibles para la clasificación. Vea la sección Notas para comprender el comportamiento de la función cuando expression se evalúa como BLANK.

value
(Opcional) Cualquier expresión DAX que devuelva un único valor escalar cuya clasificación se quiere obtener. Vea la sección Notas para conocer el comportamiento de la función cuando no se encuentra value en la expresión.

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

order
(Opcional) Valor que especifica cómo clasificar value, de inferior a superior o de superior a inferior:

valor valor alternativo Descripción
0 (cero) FALSO Clasifica en orden descendente los valores de la 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 si se omite el parámetro order.
1 VERDADERO 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
Enumeración que define cómo determinar la clasificación cuando hay asociaciones.

enumeración Descripción
Omitir El siguiente valor de clasificación, después de una asociación, es el valor de rango de la asociación más el recuento de valores asociados. Por ejemplo, si cinco (5) valores están asociados a una clasificación de 11, el valor siguiente recibe una clasificación de 16 (11 + 5).

Este es el valor predeterminado cuando se omite el parámetro ties.
Dense El siguiente valor de clasificación, después de una asociación, es el siguiente valor de rango. Por ejemplo, si cinco (5) valores están asociados a una clasificación de 11, el valor siguiente recibe una clasificación de 12.

Valor devuelto

El número de rango de value entre todos los valores posibles de expression evaluado 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 se encuentra entre todos los valores posibles de expression, entonces RANKX agrega temporalmente value a los valores de expression y vuelve a evaluar RANKX para determinar el rango adecuado de value.

  • Se pueden omitir los argumentos opcionales si se coloca una coma vacía (,) en la lista de argumentos, como aquí: RANKX(Inventory, [InventoryCost],,,"Dense")

  • Es posible que las comparaciones relacionadas con la igualdad (=, <>, >= y <=) entre valores con el tipo de datos Número decimal puedan devolver resultados inesperados al usar la función RANKX. Se pueden producir resultados incorrectos porque los valores con el tipo de datos Número decimal se almacenan como números de punto flotante del estándar IEEE 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 utiliza en columnas calculadas o en reglas de seguridad de nivel de fila (RLS).

Ejemplo

Esta columna calculada de la tabla Products calcula la clasificación de ventas de cada producto del canal de Internet.

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