Compartir a través de


percent_rank función de ventana de clasificación

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Calcula la clasificación porcentual de un valor dentro de la partición.

Sintaxis

percent_rank()

Argumentos

La función no acepta argumentos.

Devoluciones

Un valor DOUBLE.

La función se define como el rango dentro de la ventana menos uno dividido por el número de filas dentro de la ventana menos 1. Si solo hay una fila en la ventana, el rango es 0.

Como expresión, la semántica se puede expresar como:

nvl((rank() OVER(PARTITION BY p ORDER BY o) - 1) / nullif(count(1) OVER(PARTITION BY p) -1), 0), 0)

Esta función es similar, pero no es la misma que la función de ventana analítica cume_dist.

Debe incluir la cláusula ORDER BY en la especificación de ventana.

Ejemplos

> SELECT a, b, percent_rank(b) OVER (PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A1', 3), ('A1', 6), ('A1', 7), ('A1', 7), ('A2', 3), ('A1', 1) tab(a, b)
 A1 1  0.0
 A1 1  0.0
 A1 2  0.3333333333333333
 A1 3  0.5
 A1 6  0.6666666666666666
 A1 7  0.8333333333333334
 A1 7  0.8333333333333334
 A2 3  0.0