> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Calcula múltiples cuantiles aproximados mediante el algoritmo t-digest en distintos niveles simultáneamente, teniendo en cuenta el peso de cada elemento.

# quantilesTDigestWeighted

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

Introducido en: v20.1.0

Calcula simultáneamente varios [cuantiles](https://en.wikipedia.org/wiki/Quantile) aproximados de una secuencia de datos numéricos en distintos niveles mediante el algoritmo [t-digest](https://github.com/tdunning/t-digest/blob/master/docs/t-digest-paper/histo.pdf).
La función tiene en cuenta el peso de cada elemento de la secuencia.

Esta función es equivalente a [`quantileTDigestWeighted`](/docs/es/reference/functions/aggregate-functions/quantileTDigestWeighted), pero permite calcular varios niveles de cuantiles en una sola pasada, lo que resulta más eficiente que llamar a funciones de cuantiles por separado.

El error máximo es del 1 %. El consumo de memoria es `log(n)`, donde `n` es el número de valores.

El rendimiento de esta función es inferior al de [`quantiles`](/docs/es/reference/functions/aggregate-functions/quantiles) o [`quantilesTiming`](/docs/es/reference/functions/aggregate-functions/quantilesTiming).
En cuanto a la relación entre el tamaño del estado y la precisión, esta función es mucho mejor que `quantiles`.

El resultado depende del orden de ejecución de la consulta y no es determinista.

<Note>
  No se recomienda usar `quantilesTDigestWeighted` [con conjuntos de datos pequeños](https://github.com/tdunning/t-digest/issues/167#issuecomment-828650275), ya que puede dar lugar a errores significativos.
  En ese caso, considere usar [`quantilesTDigest`](/docs/es/reference/functions/aggregate-functions/quantilesTDigest) en su lugar.
</Note>

**Sintaxis**

```sql theme={null}
quantilesTDigestWeighted(level1, level2, ...)(expr, weight)
```

**Parámetros**

* `level` — Niveles de cuantiles. Uno o más números constantes de coma flotante entre 0 y 1. Recomendamos usar valores de `level` en el intervalo `[0.01, 0.99]`. [`Float*`](/docs/es/reference/data-types/float)

**Argumentos**

* `expr` — Expresión sobre los valores de la columna que produce tipos de datos numéricos, `Date` o `DateTime`. [`(U)Int*`](/docs/es/reference/data-types/int-uint) o [`Float*`](/docs/es/reference/data-types/float) o [`Date`](/docs/es/reference/data-types/date) o [`DateTime`](/docs/es/reference/data-types/datetime)
* `weight` — Columna con pesos de los elementos de la secuencia. El peso es el número de apariciones de un valor. [`UInt*`](/docs/es/reference/data-types/int-uint)

**Valor devuelto**

Array de cuantiles aproximados de los niveles especificados en el mismo orden en que se indicaron. Para entradas `Date` y `DateTime`, el formato de salida coincide con el formato de entrada. [`Array(Float32)`](/docs/es/reference/data-types/array) o [`Array(Date)`](/docs/es/reference/data-types/array) o [`Array(DateTime)`](/docs/es/reference/data-types/array)

**Ejemplos**

**Cálculo de varios cuantiles ponderados con t-digest**

```sql title=Query theme={null}
SELECT quantilesTDigestWeighted(0.25, 0.5, 0.75)(number, 1) FROM numbers(100);
```

```response title=Response theme={null}
┌─quantilesTDigestWeighted(0.25, 0.5, 0.75)(number, 1)──┐
│ [24.75,49.5,74.25]                                    │
└───────────────────────────────────────────────────────┘
```
