RANK_MODIFIED

La función RANK_MODIFIED evalúa una expresión y devuelve su rango o posición para la fila siendo considerada en la tabla tras comparar el resultado con el conjunto de resultados de todas las filas, asignando el mismo rango a valores iguales, siendo éste el menor de los que recibirían si se asignasen rangos consecutivos distintos.

Sintaxis

RANK_MODIFIED(
    <expresión>
    [, <orden>]
)

Parámetros
  • expresión: expresión a evaluar para todas las filas de la tabla
  • orden: (opcional) cadena de texto que deberá tomar los valores 'asc' o 'desc' (valor por defecto) que determinará el orden de los rangos
Valor devuelto

La función RANK_MODIFIED devuelve un número entero.

Información adicional

Valores idénticos reciben el mismo rango (el menor de los que recibirían si recibiesen rangos diferentes). En este contexto se presupone que el rango 1 es el mayor. Los demás rangos no varían. De este modo, los valores 1, 3, 3, 5 reciben los rangos 4, 3, 3, 1. Obsérvese que, con este criterio, puede haber rangos sin asignar (como el 2, en el ejemplo visto).

Las etiquetas 'asc' o 'desc' pueden estar escritas en mayúscula o minúsculas y se pueden encerrar entre comillas simples o dobles.

Los valores nulos son ignorados y no modifican de forma alguna los rangos asignados.

Ejemplos

Si partimos de una tabla en la que se muestren las ventas por país:

Ventas por país

...podemos añadir una columna que nos indique el rango o posición de cada cifra de ventas con respecto a las demás (asignando el menor rango en caso de coincidencia). Para esto podemos crear el siguiente campo calculado:

Rango =

RANK_MODIFIED(SUM([Amount]), "asc")

Si añadimos este campo calculado al estante de filas, vemos el resultado:

Función RANK_MODIFIED

En el caso de que existan valores idénticos, éstos recibirán el mismo rango, siendo el menor de los que recibirían si se asignasen rangos distintos consecutivos. Por ejemplo, si partimos de la siguiente tabla de datos:

Tabla de datos

...podemos asignar rangos bajo este criterio con el siguiente campo calculado:

Rango =

RANK_MODIFIED(SUM([Unidades]))

Si llevamos los campos de la tabla y el campo calculado al lienzo (dando a Rango tipo discreto) obtenemos el siguiente resultado:

Función RANK_MODIFIED

Como vemos, los valores 4 reciben el mismo rango 3 (si no se asignase el mismo rango, uno de los "4" recibiría el rango 2 y otro el 3, de forma que se asigna el "menor" -entendiendo que el rango 1 es el mayor-).

Funciones relacionadas
Categoría
Cálculo de tablas
Enviado por admin el Sáb, 19/10/2019 - 14:25