Udostępnij za pośrednictwem


percent_rank funkcja okna klasyfikacji

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Oblicza procentową klasyfikację wartości w partycji.

Składnia

percent_rank()

Argumenty

Funkcja nie przyjmuje żadnych argumentów

Zwraca

PODWÓJNA.

Funkcja jest definiowana jako ranga w oknie minus jedna podzielona przez liczbę wierszy w oknie minus 1. Jeśli w oknie znajduje się tylko jeden wiersz, ranga wynosi 0.

Jako wyrażenie semantyka może być wyrażona jako:

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

Ta funkcja jest podobna, ale nie taka sama jak funkcja okien analitycznych cume_dist.

Należy uwzględnić klauzulę ORDER BY w specyfikacji okna.

Przykłady

> 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