Pular para o conteúdo principal

quantileInterpolatedWeighted

Introduzido em: v23.1.0 Calcula o quantil de uma sequência de dados numéricos usando interpolação linear, levando em conta o peso de cada elemento. Para obter o valor interpolado, todos os valores fornecidos são combinados em um array, que é então ordenado de acordo com os pesos correspondentes. A interpolação do quantil é realizada usando o método de percentil ponderado, construindo uma distribuição cumulativa com base nos pesos; em seguida, é feita uma interpolação linear usando os pesos e os valores para calcular os quantis. Ao usar várias funções quantile* com níveis diferentes em uma consulta, os estados internos não são combinados (ou seja, a consulta é executada com menos eficiência do que poderia). Nesse caso, use a função quantiles. Sintaxe
quantileInterpolatedWeighted(level)(expr, weight)
Aliases: medianInterpolatedWeighted Parâmetros
  • level — Opcional. Nível do quantil. Número de ponto flutuante constante de 0 a 1. Recomendamos usar um valor de level no intervalo de [0.01, 0.99]. Valor padrão: 0.5. Em level=0.5, a função calcula a mediana. Float*
Argumentos
  • expr — Expressão sobre os valores da coluna que resulta em tipos de dados numéricos, Date ou DateTime. (U)Int* ou Float* ou Decimal* ou Date ou DateTime
  • weight — Coluna com os pesos dos membros da sequência. O peso é o número de ocorrências do valor. UInt*
Valor retornado Quantil do nível especificado. Float64 ou Date ou DateTime Exemplos Cálculo de quantil ponderado interpolado
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 │
└──────────────────────────────────────┘
Veja também
Última modificação em 10 de junho de 2026