Saltar al contenido principal

quantileInterpolatedWeighted

Introducido en: v23.1.0 Calcula el cuantil de una secuencia de datos numéricos mediante interpolación lineal, teniendo en cuenta el peso de cada elemento. Para obtener el valor interpolado, todos los valores proporcionados se combinan en un array, que luego se ordena según sus pesos correspondientes. A continuación, la interpolación del cuantil se realiza mediante el método del percentil ponderado, construyendo una distribución acumulativa basada en los pesos, y después se realiza una interpolación lineal utilizando los pesos y los valores para calcular los cuantiles. 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, use la función quantiles. Sintaxis
quantileInterpolatedWeighted(level)(expr, weight)
Alias: medianInterpolatedWeighted Parámetros
  • level — Opcional. Nivel de cuantil. Número de coma flotante constante de 0 a 1. Recomendamos usar un valor de level en el rango [0.01, 0.99]. Valor predeterminado: 0.5. Con level=0.5, la función calcula la mediana. Float*
Argumentos
  • expr — Expresión sobre los valores de la columna que da como resultado tipos de datos numéricos, Date o DateTime. (U)Int* o Float* o Decimal* o Date o DateTime
  • weight — Columna con los pesos de los miembros de la secuencia. El peso es el número de ocurrencias del valor. UInt*
Valor devuelto Cuantil del nivel especificado. Float64 o Date o DateTime Ejemplos Cálculo del cuantil interpolado ponderado
Query
CREATE TABLE t (
    n Int32,
    val Int32
) ENGINE = Memory;

INSERT INTO t VALUES (0, 3), (1, 2), (2, 1), (5, 4);

SELECT quantileInterpolatedWeighted(n, val) FROM t;
Response
┌─quantileInterpolatedWeighted(n, val)─┐
│                                    1 │
└──────────────────────────────────────┘
Véase también
Última modificación el 10 de junio de 2026