quantileTDigestWeighted
Introduzido em: v20.1.0
Calcula um quantil aproximado de uma sequência de valores numéricos usando o algoritmo t-digest. A função leva em consideração o peso de cada elemento da sequência.
O erro máximo é de 1%.
O consumo de memória é log(n), em que n é o número de valores.
O desempenho da função é inferior ao de quantile ou quantileTiming.
Em termos da relação entre o tamanho do State e a precisão, esta função é muito melhor que quantile.
O resultado depende da ordem de execução da consulta e é não determinístico.
Ao usar várias funções quantile* com diferentes níveis em uma consulta, os estados internos não são combinados (ou seja, a consulta funciona com menos eficiência do que poderia).
Nesse caso, use a função quantiles.
Sintaxe
quantileTDigestWeighted(level)(expr, weight)Aliases: medianTDigestWeighted
Parâmetros
level— Opcional. Nível do quantil. Número constante de ponto flutuante de 0 a 1. Recomendamos usar um valor delevelno intervalo[0.01, 0.99]. Valor padrão: 0.5. Emlevel=0.5, a função calcula a mediana.Float*
Argumentos
expr— Expressão aplicada aos valores da coluna que resulta em tipos de dados numéricos,DateouDateTime.(U)Int*ouFloat*ouDateouDateTimeweight— Coluna com os pesos dos elementos da sequência. O peso é o número de ocorrências do valor.UInt*
Valor retornado
Quantil aproximado do nível especificado. Para entradas Date e DateTime, o formato de saída corresponde ao formato de entrada. Float32 ou Date ou DateTime
Exemplos
Cálculo de quantil ponderado com t-digest
SELECT quantileTDigestWeighted(number, 1) FROM numbers(10);┌─quantileTDigestWeighted(number, 1)─┐
│ 4 │
└────────────────────────────────────┘Veja também