Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantileExactExclusive

quantileExactExclusive

Introducido en: v20.1.0

Similar a quantileExact, esta función calcula el cuantil exacto de una secuencia de datos numéricos.

Esta función es equivalente a quantileExact, pero utiliza el método exclusivo para calcular cuantiles, tal como se describe en el método R-6.

Al usar esta función, el cuantil se calcula de forma que la fórmula de interpolación para un cuantil p dado tiene la forma: x[floor(n*p)] + (n*p - floor(n*p)) * (x[floor(n*p)+1] - x[floor(n*p)]), donde x es el array ordenado.

Para obtener el valor exacto, todos los valores proporcionados se combinan en un array, que luego se ordena por completo. La complejidad del algoritmo de ordenación es O(N·log(N)), donde N = std::distance(first, last) comparaciones.

Al usar varias funciones quantile* con distintos niveles en una consulta, los estados internos no se combinan (es decir, la consulta funciona con menos eficiencia de la que podría). En este caso, utilice la función quantiles.

Sintaxis

quantileExactExclusive(level)(expr)

Parámetros

  • level — Nivel del cuantil. Número constante de coma flotante entre 0 y 1 (sin incluirlos). Recomendamos usar un valor de level en el intervalo (0.01, 0.99). Float*

Argumentos

  • expr — Expresión sobre los valores de la columna cuyo resultado son tipos de datos numéricos, Date o DateTime. (U)Int* o Float* o Date o DateTime

Valor devuelto

Devuelve el cuantil del nivel especificado. Float64

Ejemplos

Cálculo del cuantil exacto exclusivo

SELECT quantileExactExclusive(0.25)(number) FROM numbers(5);
┌─quantileExactExclusive(0.25)(number)─┐
│                                  0.5 │
└──────────────────────────────────────┘

Cálculo de varios niveles de cuantil

SELECT quantileExactExclusive(0.1)(number), quantileExactExclusive(0.9)(number) FROM numbers(10);
┌─quantileExactExclusive(0.1)(number)─┬─quantileExactExclusive(0.9)(number)─┐
│                 0.10000000000000009 │                                 8.9 │
└─────────────────────────────────────┴─────────────────────────────────────┘
Navigation