Перейти к основному содержанию
Перейти к основному содержанию

quantilesExactExclusive

quantilesExactExclusive

Точно вычисляет квантили числовой последовательности данных.

Для получения точного значения все переданные значения объединяются в массив, который затем частично сортируется. Поэтому функция требует O(n) памяти, где n — количество переданных значений. Однако при небольшом числе значений функция работает очень эффективно.

Эта функция эквивалентна функции Excel PERCENTILE.EXC (тип R6).

Работает более эффективно с наборами уровней, чем quantileExactExclusive.

Синтаксис

quantilesExactExclusive(level1, level2, ...)(expr)

Аргументы

  • expr — Выражение над значениями столбца, результатом которого являются числовые типы данных, Date или DateTime.

Параметры

  • level — Уровни квантилей. Возможные значения: (0, 1) — границы не включены. Float.

Возвращаемое значение

  • Array квантилей для заданных уровней.

Тип значений массива:

  • Float64, если на вход подаётся числовой тип данных.
  • Date, если входные значения имеют тип Date.
  • DateTime, если входные значения имеют тип DateTime.

Пример

Запрос:

CREATE TABLE num AS numbers(1000);

SELECT quantilesExactExclusive(0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999)(x) FROM (SELECT number AS x FROM num);

Результат:

┌─quantilesExactExclusive(0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999)(x)─┐
│ [249.25,499.5,749.75,899.9,949.9499999999999,989.99,998.999]        │
└─────────────────────────────────────────────────────────────────────┘