Skip to main content

quantilesTDigestWeighted

Добавленный в: v20.1.0 Вычисляет сразу несколько приближённых квантилей числовой последовательности данных на разных уровнях с использованием алгоритма t-digest. Функция учитывает вес каждого элемента последовательности. Эта функция эквивалентна quantileTDigestWeighted, но позволяет вычислять несколько уровней квантилей за один проход, что эффективнее, чем вызывать отдельные функции для каждого квантиля. Максимальная ошибка составляет 1%. Потребление памяти — log(n), где n — количество значений. Производительность этой функции ниже, чем у quantiles или quantilesTiming. По соотношению размера State и точности эта функция значительно превосходит quantiles. Результат зависит от порядка выполнения запроса и является недетерминированным.
Использовать quantilesTDigestWeighted не рекомендуется для очень маленьких наборов данных, так как это может привести к значительной погрешности. В этом случае рассмотрите возможность использования quantilesTDigest вместо неё.
Синтаксис
Параметры
  • level — Уровни квантилей. Одно или несколько константных чисел с плавающей запятой от 0 до 1. Рекомендуется использовать значения level в диапазоне [0.01, 0.99]. Float*
Аргументы
  • expr — Выражение над значениями столбца, возвращающее значения числового типа, Date или DateTime. (U)Int* или Float* или Date или DateTime
  • weight — Столбец с весами элементов последовательности. Вес — это число вхождений значения. UInt*
Возвращаемое значение Массив приближённых квантилей указанных уровней в том же порядке, в котором они были заданы. Для входных данных Date и DateTime выходной формат соответствует входному формату. Array(Float32) или Array(Date) или Array(DateTime) Примеры Вычисление нескольких взвешенных квантилей с использованием t-digest
Query
Response
Последнее изменение 23 июля 2026 г.