> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-home-button.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Calcula o quantil de uma sequência de dados numéricos usando interpolação linear, levando em conta o peso de cada elemento.

# quantileExactWeightedInterpolated

<div id="quantileExactWeightedInterpolated">
  ## quantileExactWeightedInterpolated
</div>

Introduzido em: v24.10.0

Calcula o [quantil](https://en.wikipedia.org/wiki/Quantile) de uma sequência de dados numéricos usando interpolação linear, levando em consideração o peso de cada elemento.

Para obter o valor interpolado, todos os valores fornecidos são combinados em um array, que depois é ordenado de acordo com os respectivos pesos.
A interpolação de quantis é então realizada usando o [método do percentil ponderado](https://en.wikipedia.org/wiki/Percentile#The_weighted_percentile_method), construindo uma distribuição cumulativa com base nos pesos e, em seguida, aplicando interpolação linear com 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 funciona com menos eficiência do que poderia).
Nesse caso, use a função [quantiles](/pt-BR/reference/functions/aggregate-functions/quantiles#quantiles).

Recomendamos fortemente usar `quantileExactWeightedInterpolated` em vez de `quantileInterpolatedWeighted`, porque `quantileExactWeightedInterpolated` é mais precisa que `quantileInterpolatedWeighted`.
Veja o exemplo abaixo para mais detalhes.

**Sintaxe**

```sql theme={null}
quantileExactWeightedInterpolated(level)(expr, weight)
```

**Aliases**: `medianExactWeightedInterpolated`

**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 `[0.01, 0.99]`. Valor padrão: 0.5. Em `level=0.5`, a função calcula a mediana. [`Float*`](/pt-BR/reference/data-types/float)

**Argumentos**

* `expr` — Expressão aplicada aos valores da coluna, resultando em tipos de dados numéricos, Date ou DateTime. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal) ou [`Date`](/pt-BR/reference/data-types/date) ou [`DateTime`](/pt-BR/reference/data-types/datetime)
* `weight` — Coluna com os pesos dos membros da sequência. O peso é o número de ocorrências do valor. [`UInt*`](/pt-BR/reference/data-types/int-uint)

**Valor retornado**

Quantil do nível especificado. [`Float64`](/pt-BR/reference/data-types/float) ou [`Date`](/pt-BR/reference/data-types/date) ou [`DateTime`](/pt-BR/reference/data-types/datetime)

**Exemplos**

**Cálculo do quantil interpolado ponderado exato**

```sql title=Query theme={null}
SELECT quantileExactWeightedInterpolated(n, val) FROM t;
```

```response title=Response theme={null}
┌─quantileExactWeightedInterpolated(n, val)─┐
│                                       1.5 │
└───────────────────────────────────────────┘
```

**Prefira quantileExactWeightedInterpolated em vez de quantileInterpolatedWeighted**

```sql title=Query theme={null}
SELECT
    quantileExactWeightedInterpolated(0.99)(number, 1),
    quantile(0.99)(number),
    quantileInterpolatedWeighted(0.99)(number, 1)
FROM numbers(9)
```

```response title=Response theme={null}
┌─quantileExactWeightedInterpolated(0.99)(number, 1)─┬─quantile(0.99)(number)─┬─quantileInterpolatedWeighted(0.99)(number, 1)─┐
│                                               7.92 │                   7.92 │                                             8 │
└────────────────────────────────────────────────────┴────────────────────────┴───────────────────────────────────────────────┘
```

**Veja também**

* [median](/pt-BR/reference/functions/aggregate-functions/median)
* [quantiles](/pt-BR/reference/functions/aggregate-functions/quantiles)
