quantilesInterpolatedWeighted
Introducido en: v23.1.0
Calcula varios cuantiles de una secuencia de datos numéricos mediante interpolación lineal en distintos niveles de forma simultánea, teniendo en cuenta el peso de cada elemento.
Esta función es equivalente a quantileInterpolatedWeighted, pero permite calcular varios niveles de cuantiles en una sola pasada, lo que resulta más eficiente que llamar a funciones de cuantiles por separado.
Sintaxis
quantilesInterpolatedWeighted(level1, level2, ...)(expr, weight)Parámetros
level— Niveles de cuantiles. Uno o más números constantes de coma flotante entre 0 y 1. Recomendamos usar valores delevelen 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,DateTimeoDateTime64.(U)Int*oInt128oUInt128oInt256oUInt256oFloat*oDecimal*oDateoDateTimeoDateTime64weight— Columna con los pesos de los miembros de la secuencia. El peso es el número de ocurrencias del valor.UInt*
Valor devuelto
Array de cuantiles de los niveles especificados en el mismo orden en que se indicaron. Para los tipos de datos numéricos, el formato de salida coincide con el formato de entrada. Array((U)Int*) o Array(Int128) o Array(UInt128) o Array(Int256) o Array(UInt256) o Array(Float*) o Array(Decimal*) o Array(Date) o Array(DateTime) o Array(DateTime64)
Ejemplos
Cálculo de varios cuantiles ponderados interpolados
SELECT quantilesInterpolatedWeighted(0.25, 0.5, 0.75)(number, 1) FROM numbers(10)┌─quantilesInterpolatedWeighted(0.25, 0.5, 0.75)(number, 1)─┐
│ [2,4,7] │
└───────────────────────────────────────────────────────────┘