RANK_DENSE

La función RANK_DENSE 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, recibiendo valores idénticos el mismo rango pero sin dejar rangos sin asignar.

Sintaxis

RANK_DENSE(
    <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_DENSE devuelve un número entero.

Información adicional

Valores idénticos reciben el mismo rango (el mayor de los que recibirían si recibiesen rangos diferentes), pero no se dejan rangos sin asignar. De este modo, los valores 1, 3, 3, 5 reciben los rangos 3, 2, 2, 1. En este contexto se presupone que el rango 1 es el mayor.

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 un listado con productos y número de unidades vendidas:

Número de unidades vendidas por producto

...podemos asignar el rango correspondiente a cada producto con el siguiente campo calculado:

Rango =

RANK_DENSE(SUM([Unidades]))

Si añadimos este campo al estante de filas -definiéndolo como campo discreto-, obtenemos el resultado buscado:

Número de unidades vendidas por producto y sus rangos

Vemos cómo, en efecto, no hay rangos sin asignar entre el mínimo y el máximo.

Categoría
Cálculo de tablas
Submitted by admin on Fri, 10/18/2019 - 16:40