функция percent_rank
ранжирования window
Область применения: Databricks SQL Databricks Runtime
Вычисляет процентное ранжирование значения в partition.
Синтаксис
percent_rank()
Аргументы
Функция не принимает никаких аргументов.
Возвраты
Значение DOUBLE.
Функция определяется как ранг в пределах window минус один, разделенный на количество строк в window минус 1. Если в window имеется только одна строка, ранг равен 0.
Семантически выражение можно представить следующим образом:
nvl((rank() OVER(PARTITION BY p ORDER BY o) - 1) / nullif(count(1) OVER(PARTITION BY p) -1), 0), 0)
Эта функция похожа, но не идентична аналитической функции cume_dist window.
В спецификацию window необходимо включить положение ORDER BY.
Примеры
> 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
Связанные функции
- аналитическая window функция cume_dist
- рейтинг ранжирования window функция
- функции Window