quantileTDigestWeighted
Introducido en: v20.1.0
Calcula un cuantil aproximado de una secuencia de datos numéricos mediante el algoritmo t-digest. La función tiene en cuenta el peso de cada elemento de la secuencia.
El error máximo es del 1 %.
El consumo de memoria es log(n), donde n es el número de valores.
El rendimiento de esta función es inferior al de quantile o quantileTiming.
En cuanto a la relación entre el tamaño del estado y la precisión, esta función es muy superior a quantile.
El resultado depende del orden de ejecución de la consulta y no es determinista.
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
quantileTDigestWeighted(level)(expr, weight)Alias: medianTDigestWeighted
Parámetros
level— Opcional. Nivel de cuantil. Número constante de coma flotante de 0 a 1. Recomendamos usar un valor deleveldentro del intervalo[0.01, 0.99]. Valor predeterminado: 0.5. Enlevel=0.5, la función calcula la mediana.Float*
Argumentos
expr— Expresión sobre los valores de la columna cuyo resultado sea un tipo de dato numérico,DateoDateTime.(U)Int*oFloat*oDateoDateTimeweight— Columna con los pesos de los elementos de la secuencia. El peso es el número de ocurrencias del valor.UInt*
Valor devuelto
Cuantil aproximado del nivel especificado. Para entradas Date y DateTime, el formato de salida coincide con el formato de entrada. Float32 o Date o DateTime
Ejemplos
Cálculo del cuantil ponderado con t-digest
SELECT quantileTDigestWeighted(number, 1) FROM numbers(10);┌─quantileTDigestWeighted(number, 1)─┐
│ 4 │
└────────────────────────────────────┘Véase también