quantilesExactWeighted
Добавленный в: v1.1.0
Точно вычисляет несколько квантилей числовой последовательности данных одновременно на разных уровнях с учетом веса каждого элемента.
Эта функция эквивалентна quantileExactWeighted, но позволяет вычислять несколько квантилей разных уровней за один проход, что эффективнее, чем вызывать отдельные функции квантилей.
Синтаксис
quantilesExactWeighted(level1, level2, ...)(expr, weight)Параметры
level— Уровни квантилей. Одно или несколько константных чисел с плавающей запятой от 0 до 1. Рекомендуем использовать значенияlevelв диапазоне[0.01, 0.99].Float*
Аргументы
expr— Выражение над значениями столбца, результат которого имеет числовой тип данных,Date,DateTimeилиDateTime64.(U)Int*илиInt128илиUInt128илиInt256илиUInt256илиFloat*илиDecimal*илиDateилиDateTimeилиDateTime64weight— Столбец с весами элементов последовательности. Вес — это число вхождений значения.UInt*
Возвращаемое значение
Массив квантилей указанных уровней в том же порядке, в котором эти уровни были заданы. Для числовых типов данных выходной формат соответствует входному формату. Array((U)Int*) или Array(Int128) или Array(UInt128) или Array(Int256) или Array(UInt256) или Array(Float*) или Array(Decimal*) или Array(Date) или Array(DateTime) или Array(DateTime64)
Примеры
Вычисление нескольких точных взвешенных квантилей
SELECT quantilesExactWeighted(0.25, 0.5, 0.75)(number, 1) FROM numbers(10)┌─quantilesExactWeighted(0.25, 0.5, 0.75)(number, 1)─┐
│ [2,4,7] │
└────────────────────────────────────────────────────┘