quantilesInterpolatedWeighted
Introduzido em: v23.1.0
Calcula múltiplos quantis de uma sequência de dados numéricos usando interpolação linear em diferentes níveis simultaneamente, considerando o peso de cada elemento.
Esta função é equivalente a quantileInterpolatedWeighted, mas permite calcular vários níveis de quantil em uma única passagem, o que é mais eficiente do que chamar funções de quantil individualmente.
Sintaxe
quantilesInterpolatedWeighted(level1, level2, ...)(expr, weight)Parâmetros
level— Níveis dos quantis. Um ou mais números de ponto flutuante constantes de 0 a 1. Recomendamos usar valores delevelno intervalo[0.01, 0.99].Float*
Argumentos
expr— Expressão sobre os valores da coluna que resulta em tipos de dados numéricos,Date,DateTimeouDateTime64.(U)Int*ouInt128ouUInt128ouInt256ouUInt256ouFloat*ouDecimal*ouDateouDateTimeouDateTime64weight— Coluna com os pesos dos membros da sequência. O peso é o número de ocorrências de um valor.UInt*
Valor retornado
Array de quantis dos níveis especificados, na mesma ordem em que os níveis foram especificados. Para tipos de dados numéricos, o formato de saída corresponde ao formato de entrada. Array((U)Int*) ou Array(Int128) ou Array(UInt128) ou Array(Int256) ou Array(UInt256) ou Array(Float*) ou Array(Decimal*) ou Array(Date) ou Array(DateTime) ou Array(DateTime64)
Exemplos
Cálculo de vários quantis 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] │
└───────────────────────────────────────────────────────────┘