quantileInterpolatedWeighted
quantileInterpolatedWeighted
Появилась в: v23.1
Вычисляет квантиль числовой последовательности данных с использованием линейной интерполяции с учётом веса каждого элемента.
Чтобы получить интерполированное значение, все переданные значения объединяются в массив, который затем сортируется по соответствующим весам. Затем интерполяция квантилей выполняется с использованием метода взвешенных перцентилей: строится накопленное распределение на основе весов, после чего выполняется линейная интерполяция по весам и значениям для вычисления квантилей.
При использовании в запросе нескольких функций quantile* с разными уровнями квантилей их внутренние состояния не объединяются (то есть запрос работает менее эффективно, чем мог бы).
В этом случае используйте функцию quantiles.
Синтаксис
Псевдонимы: medianInterpolatedWeighted
Параметры
level— Необязательный параметр. Уровень квантиля. Константа с плавающей запятой от 0 до 1. Рекомендуется использовать значениеlevelв диапазоне[0.01, 0.99]. Значение по умолчанию: 0.5. Приlevel=0.5функция вычисляет медиану.Float*
Аргументы
expr— Выражение над значениями столбца, дающее значения числовых типов данных, Date или DateTime.(U)Int*илиFloat*илиDecimal*илиDateилиDateTimeweight— Столбец с весами элементов последовательности. Вес — это количество вхождений значения.UInt*
Возвращаемое значение
Квантиль указанного уровня. Float64 или Date или DateTime
Примеры
Вычисление интерполированного взвешенного квантиля
См. также