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

> Com a precisão especificada, calcula o quantil de uma sequência de dados numéricos de acordo com o peso de cada elemento da sequência.

# quantilesTimingWeighted

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

Introduzido em: v1.1.0

Calcula vários [quantis](https://en.wikipedia.org/wiki/Quantile) de uma sequência de dados numéricos em diferentes níveis simultaneamente, com precisão definida, levando em conta o peso de cada elemento da sequência.

Esta função é equivalente a [`quantileTimingWeighted`](/pt-BR/reference/functions/aggregate-functions/quantileTimingWeighted), 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.

O resultado é determinístico (não depende da ordem de processamento da consulta). A função é otimizada para trabalhar com sequências que descrevem distribuições, como tempos de carregamento de páginas da web ou tempos de resposta do backend.

**Precisão**

O cálculo é preciso se:

* O número total de valores não excede 5670.
* O número total de valores excede 5670, mas o tempo de carregamento da página é inferior a 1024 ms.

Caso contrário, o resultado do cálculo é arredondado para o múltiplo de 16 ms mais próximo.

<Note>
  Para calcular quantis de tempo de carregamento de página, esta função é mais eficiente e precisa do que [`quantiles`](/pt-BR/reference/functions/aggregate-functions/quantiles).
</Note>

**Sintaxe**

```sql theme={null}
quantilesTimingWeighted(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 de `level` no intervalo `[0.01, 0.99]`. [`Float*`](/pt-BR/reference/data-types/float)

**Argumentos**

* `expr` — Expressão sobre os valores de uma coluna que retorna um número do tipo Float\*. Se valores negativos forem passados para a função, o comportamento será indefinido. Se o valor for maior que 30.000 (um tempo de carregamento de página superior a 30 segundos), será considerado 30.000. [`Float*`](/pt-BR/reference/data-types/float)
* `weight` — Coluna com os pesos dos elementos da sequência. O peso é o número de ocorrências do valor. [`UInt*`](/pt-BR/reference/data-types/int-uint)

**Valor retornado**

Array de quantis dos níveis especificados, na mesma ordem em que os níveis foram especificados. [`Array(Float32)`](/pt-BR/reference/data-types/array)

**Exemplos**

**Calculando vários quantis ponderados de tempo**

```sql title=Query theme={null}
SELECT quantilesTimingWeighted(0.5, 0.99)(response_time, weight) FROM t;
```

```response title=Response theme={null}
┌─quantilesTimingWeighted(0.5, 0.99)(response_time, weight)─┐
│ [112, 162]                                                │
└───────────────────────────────────────────────────────────┘
```

**Veja também**

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