percent_rank
Fonction de fenêtre de classement
S’applique à : Databricks SQL Databricks Runtime
Calcule le classement en pourcentage d’une valeur au sein de la partition.
Syntaxe
percent_rank()
Arguments
La fonction n’utilise aucun argument
Retours
Une valeur DOUBLE.
La fonction est définie comme le rang dans la fenêtre, moins un, divisé par le nombre de lignes dans la fenêtre, moins 1. S’il n’y a qu’une seule ligne dans la fenêtre, le rang est 0.
En tant qu’expression, la sémantique peut être exprimée comme suit :
nvl((rank() OVER(PARTITION BY p ORDER BY o) - 1) / nullif(count(1) OVER(PARTITION BY p) -1), 0), 0)
Cette fonction est similaire mais pas identique à la fonction de fenêtre analytique cume_dist.
Vous devez inclure la ORDER BYclause dans la spécification de la fenêtre.
Exemples
> 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