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

> Con la precisión especificada, calcula el cuantil de una secuencia de datos numéricos según el peso de cada elemento de la secuencia.

# quantileTimingWeighted

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

Introducido en: v1.1.0

Con la precisión especificada, calcula el [cuantil](https://en.wikipedia.org/wiki/Quantile) de una secuencia de datos numéricos en función del peso de cada elemento de la secuencia.

El resultado es determinista (no depende del orden de procesamiento de la consulta). La función está optimizada para trabajar con secuencias que describen distribuciones, como tiempos de carga de páginas web o tiempos de respuesta del backend.

Al usar varias funciones `quantile*` con distintos niveles en una consulta, los estados internos no se combinan (es decir, la consulta se ejecuta con menos eficiencia de la que podría). En este caso, use la función [`quantiles`](/es/reference/functions/aggregate-functions/quantiles#quantiles).

**Precisión**

El cálculo es preciso si:

* El número total de valores no supera 5670.
* El número total de valores supera 5670, pero el tiempo de carga de la página es inferior a 1024 ms.

De lo contrario, el resultado del cálculo se redondea al múltiplo de 16 ms más cercano.

<Note>
  Para calcular cuantiles del tiempo de carga de páginas, esta función es más eficaz y precisa que [`quantile`](/es/reference/functions/aggregate-functions/quantile).
</Note>

<Note>
  Si no se pasan valores a la función (al usar `quantileTimingIf`), se devuelve [NaN](/es/reference/data-types/float#nan-and-inf). Esto permite distinguir estos casos de aquellos cuyo resultado es cero. Consulte la [cláusula ORDER BY](/es/reference/statements/select/order-by) para ver notas sobre cómo ordenar valores `NaN`.
</Note>

**Sintaxis**

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

**Alias**: `medianTimingWeighted`

**Parámetros**

* `level` — Opcional. Nivel del cuantil. Número constante de coma flotante entre 0 y 1. Recomendamos usar un valor de `level` en el intervalo `[0.01, 0.99]`. Valor predeterminado: 0.5. Con `level=0.5`, la función calcula la mediana. [`Float*`](/es/reference/data-types/float)

**Argumentos**

* `expr` — Expresión sobre los valores de una columna que devuelve un número de tipo Float\*. Si se pasan valores negativos a la función, el comportamiento no está definido. Si el valor es mayor que 30,000 (un tiempo de carga de página superior a 30 segundos), se considera 30,000. [`Float*`](/es/reference/data-types/float)
* `weight` — Columna con los pesos de los elementos de la secuencia. El peso es el número de ocurrencias del valor. [`UInt*`](/es/reference/data-types/int-uint)

**Valor devuelto**

Cuantil del nivel especificado. [`Float32`](/es/reference/data-types/float)

**Ejemplos**

**Cálculo del cuantil ponderado del tiempo**

```sql title=Query theme={null}
CREATE TABLE t (response_time UInt32, weight UInt32) ENGINE = Memory;
INSERT INTO t VALUES (68, 1), (104, 2), (112, 3), (126, 2), (138, 1), (162, 1);

SELECT quantileTimingWeighted(response_time, weight) FROM t;
```

```response title=Response theme={null}
┌─quantileTimingWeighted(response_time, weight)─┐
│                                           112 │
└───────────────────────────────────────────────┘
```
