percent_rank
função de classificação window
Aplica-se a: Databricks SQL
Databricks Runtime
Calcula a classificação percentual de um valor dentro do partition.
Sintaxe
percent_rank()
Argumentos
A função não aceita argumentos
Devoluções
UM DUPLO.
A função é definida como a classificação dentro do window menos um dividido pelo número de linhas dentro do window menos 1. Se houver apenas uma linha no window a classificação é 0.
Como expressão, a semântica pode ser expressa como:
nvl((rank() OVER(PARTITION BY p ORDER BY o) - 1) / nullif(count(1) OVER(PARTITION BY p) -1), 0), 0)
Esta função é semelhante, mas não é a mesma que cume_dist função analítica window.
Você deve incluir a cláusula ORDER BY na especificação window.
Exemplos
> 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