Función de ventana CUME_DIST - Amazon Redshift

Función de ventana CUME_DIST

Calcula la distribución acumulada de un valor dentro de una ventana o partición. Si se asume un orden ascendente, la distribución acumulada se determina utilizando esta fórmula:

count of rows with values <= x / count of rows in the window or partition

donde x equivale al valor en la fila actual de la columna especificada en la cláusula ORDER BY. El siguiente conjunto de datos ilustra el uso de esta fórmula:

Row# Value Calculation CUME_DIST 1 2500 (1)/(5) 0.2 2 2600 (2)/(5) 0.4 3 2800 (3)/(5) 0.6 4 2900 (4)/(5) 0.8 5 3100 (5)/(5) 1.0

El rango de valor de retorno es > 0 a 1, inclusive.

Sintaxis

CUME_DIST () OVER ( [ PARTITION BY partition_expression ] [ ORDER BY order_list ] )

Argumentos

OVER

Una cláusula que especifica la partición de ventana. La cláusula OVER no puede tener una especificación de marco de ventana.

PARTITION BY partition_expression

Opcional. Una expresión que establece el rango de registros para cada grupo en la cláusula OVER.

ORDER BY order_list

La expresión sobre la cual se calcula la distribución acumulada. La expresión debe tener un tipo de dato numérico o ser implícitamente convertible a un dato numérico. Si se omite ORDER BY, el valor de retorno es 1 para todas las filas.

Si ORDER BY no produce una ordenación única, el orden de las filas no es determinístico. Para obtener más información, consulte Ordenación única de datos para funciones de ventana.

Tipo de retorno

FLOAT8

Ejemplos

En el siguiente ejemplo, se calcula la distribución acumulada de la cantidad para cada vendedor:

select sellerid, qty, cume_dist() over (partition by sellerid order by qty) from winsales; sellerid qty cume_dist -------------------------------------------------- 1 10.00 0.33 1 10.64 0.67 1 30.37 1 3 10.04 0.25 3 15.15 0.5 3 20.75 0.75 3 30.55 1 2 20.09 0.5 2 20.12 1 4 10.12 0.5 4 40.23 1

Para ver una descripción de la tabla WINSALES, consulte Tabla de muestra para ejemplos de funciones de ventana.