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

# quantilesTimingIf

> Ejemplo de uso del combinador quantilesTimingIf

<div id="description">
  ## Descripción
</div>

El combinador [`If`](/es/reference/functions/aggregate-functions/combinators#-if) puede aplicarse a la función [`quantilesTiming`](/es/reference/functions/aggregate-functions/quantileTiming)
para calcular cuantiles de valores temporales para las filas en las que se cumple la condición,
mediante la función de combinador de agregación `quantilesTimingIf`.

<div id="example-usage">
  ## Ejemplo de uso
</div>

En este ejemplo, crearemos una tabla que almacena los tiempos de respuesta de la API para distintos endpoints,
y usaremos `quantilesTimingIf` para calcular los cuantiles del tiempo de respuesta de las solicitudes exitosas.

```sql title="Query" theme={null}
CREATE TABLE api_responses(
    endpoint String,
    response_time_ms UInt32,
    is_successful UInt8
) ENGINE = MergeTree
ORDER BY ();

INSERT INTO api_responses VALUES
    ('orders', 82, 1),
    ('orders', 94, 1),
    ('orders', 98, 1),
    ('orders', 87, 1),
    ('orders', 103, 1),
    ('orders', 92, 1),
    ('orders', 89, 1),
    ('orders', 105, 1),
    ('products', 45, 1),
    ('products', 52, 1),
    ('products', 48, 1),
    ('products', 51, 1),
    ('products', 49, 1),
    ('products', 53, 1),
    ('products', 47, 1),
    ('products', 50, 1),
    ('users', 120, 0),
    ('users', 125, 0),
    ('users', 118, 0),
    ('users', 122, 0),
    ('users', 121, 0),
    ('users', 119, 0),
    ('users', 123, 0),
    ('users', 124, 0);

SELECT
    endpoint,
    quantilesTimingIf(0, 0.25, 0.5, 0.75, 0.95, 0.99, 1.0)(response_time_ms, is_successful = 1) as response_time_quantiles
FROM api_responses
GROUP BY endpoint;
```

La función `quantilesTimingIf` calculará cuantiles solo para las solicitudes exitosas (is\_successful = 1).
El array devuelto contiene los siguientes cuantiles en este orden:

* 0 (mínimo)
* 0.25 (primer cuartil)
* 0.5 (mediana)
* 0.75 (tercer cuartil)
* 0.95 (percentil 95)
* 0.99 (percentil 99)
* 1.0 (máximo)

```response title="Response" theme={null}
   ┌─endpoint─┬─response_time_quantiles─────────────────────────────────────────────┐
1. │ orders   │ [82, 87, 92, 98, 103, 104, 105]                                     │
2. │ products │ [45, 47, 49, 51, 52, 52, 53]                                        │
3. │ users    │ [nan, nan, nan, nan, nan, nan, nan]                                 │
   └──────────┴─────────────────────────────────────────────────────────────────────┘
```

<div id="see-also">
  ## Véase también
</div>

* [`quantilesTiming`](/es/reference/functions/aggregate-functions/quantileTiming)
* [`If combinador`](/es/reference/functions/aggregate-functions/combinators#-if)
