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

> Вычисляет функцию PromQL `quantile_over_time` на регулярной временной сетке.

# timeSeriesQuantileToGrid

<h2 id="timeSeriesQuantileToGrid">
  timeSeriesQuantileToGrid
</h2>

Добавлена в: v26.9.0

Агрегатная функция, которая принимает данные временных рядов в виде пар временных меток и значений и вычисляет функцию [PromQL `quantile_over_time`](https://prometheus.io/docs/prometheus/latest/querying/functions/#quantile_over_time) на регулярной временной сетке, заданной начальной временной меткой, конечной временной меткой и шагом. Для каждой точки сетки квантиль вычисляется по образцам, попадающим в заданное временное окно. Квантиль вычисляется методом R-7 (inclusive), как в `quantileExactInclusive`. Однако, в отличие от `quantileExactInclusive`, образцы NaN не пропускаются: как и в Prometheus, они сохраняются и при сортировке располагаются перед всеми действительными значениями. Поэтому для окна `[1, NaN, 2]` медиана равна `1`, а если все образцы в окне равны NaN, результатом будет NaN.

Уровень квантиля передаётся последним аргументом после образцов: либо как одно число, используемое для всех точек сетки, либо как массив, содержащий по одному числу для каждой точки сетки. Он должен быть одинаковым во всех строках. Как и в Prometheus, уровень меньше 0 даёт `-Inf`, уровень больше 1 — `+Inf`, а уровень NaN даёт NaN для каждой точки сетки, в окне которой есть образцы.

<Note>
  Эта функция находится в стадии закрытой предварительной версии. Чтобы включить её, установите настройку `enable_time_series_aggregate_functions=true`.
</Note>

**Синтаксис**

```sql theme={null}
timeSeriesQuantileToGrid(start_timestamp, end_timestamp, grid_step, staleness)(timestamp, value, phi)
timeSeriesQuantileToGrid(start_timestamp, end_timestamp, grid_step, staleness)(samples, phi)
```

**Параметры**

* `start_timestamp` — Задаёт начало сетки. Также может быть дробным числом или строкой, содержащей число либо дату и время в текстовом виде. [`UInt32`](/ru/reference/data-types/int-uint) или [`DateTime`](/ru/reference/data-types/datetime) или [`DateTime64`](/ru/reference/data-types/datetime64) или [`Float*`](/ru/reference/data-types/float) или [`Decimal*`](/ru/reference/data-types/decimal) или [`String`](/ru/reference/data-types/string)
* `end_timestamp` — Задаёт конец сетки. Также может быть дробным числом или строкой, содержащей число либо дату и время в текстовом виде. [`UInt32`](/ru/reference/data-types/int-uint) или [`DateTime`](/ru/reference/data-types/datetime) или [`DateTime64`](/ru/reference/data-types/datetime64) или [`Float*`](/ru/reference/data-types/float) или [`Decimal*`](/ru/reference/data-types/decimal) или [`String`](/ru/reference/data-types/string)
* `grid_step` — Задаёт шаг сетки в секундах. Также может быть дробным числом или строкой, содержащей число либо длительность, например '15s' или '1m'. [`UInt32`](/ru/reference/data-types/int-uint) или [`Float*`](/ru/reference/data-types/float) или [`Decimal*`](/ru/reference/data-types/decimal) или [`String`](/ru/reference/data-types/string)
* `staleness` — Задаёт максимальную «давность» (staleness) учитываемых образцов в секундах. Окно давности представляет собой интервал, открытый слева и закрытый справа. Также может быть дробным числом или строкой, содержащей число либо длительность, например '15s' или '1m'. [`UInt32`](/ru/reference/data-types/int-uint) или [`Float*`](/ru/reference/data-types/float) или [`Decimal*`](/ru/reference/data-types/decimal) или [`String`](/ru/reference/data-types/string)

**Аргументы**

* `timestamp` — временная метка образца. Может быть отдельным значением или массивом. [`UInt32`](/ru/reference/data-types/int-uint) или [`DateTime`](/ru/reference/data-types/datetime) или [`DateTime64`](/ru/reference/data-types/datetime64) или [`Array(UInt32)`](/ru/reference/data-types/array) или [`Array(DateTime)`](/ru/reference/data-types/array) или [`Array(DateTime64)`](/ru/reference/data-types/array)
* `value` — значение временного ряда, соответствующее временной метке. Может быть отдельным значением или массивом. [`Float*`](/ru/reference/data-types/float) или [`Array(Float*)`](/ru/reference/data-types/array)
* `samples` — образцы временного ряда, передаваемые в виде массива Tuple `(timestamp, value)`, элементы которых имеют указанные выше типы временной метки и значения. Альтернатива передаче временных меток и значений в виде двух отдельных аргументов. [`Array(Tuple(T1, T2))`](/ru/reference/data-types/array)
* `phi` — уровень квантиля, обычно в диапазоне \[0, 1]: либо одно число для всей сетки, либо массив, содержащий по одному числу для каждой точки сетки. Должен быть одинаковым во всех строках. [`Float*`](/ru/reference/data-types/float) или [`UInt8/16/32/64`](/ru/reference/data-types/int-uint) или [`Int8/16/32/64`](/ru/reference/data-types/int-uint) или [`Array(Float*)`](/ru/reference/data-types/array) или [`Array(UInt8/16/32/64)`](/ru/reference/data-types/array) или [`Array(Int8/16/32/64)`](/ru/reference/data-types/array)

**Возвращаемое значение**

Возвращает phi-квантиль значений на заданной сетке. Возвращаемый массив содержит по одному значению для каждой точки временной сетки. Если для какой-либо точки сетки в окне нет образцов, значение равно NULL. [`Array(Nullable(Float64))`](/ru/reference/data-types/array)

**Примеры**
