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

quantilesExactInclusive

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

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

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

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

Синтаксис

quantilesExactInclusive(level1, level2, ...)(expr)

Аргументы

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

Параметры

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

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

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

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

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

Пример

Запрос:

CREATE TABLE num AS numbers(1000);

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

Результат:

┌─quantilesExactInclusive(0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999)(x)─┐
│ [249.75,499.5,749.25,899.1,949.05,989.01,998.001]                   │
└─────────────────────────────────────────────────────────────────────┘