Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переключайте службы с помощью раскрывающегося списка Версия. Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer
Возвращает оценку указанного процентиля совокупности ValueColumn в скользящем (скользящем) окне размера BinsPerWindow на binSize.
Подключаемый модуль вызывается оператором evaluate .
Синтаксис
T| evaluaterolling_percentile( ValueColumn,Percentile,IndexColumn, BinSize BinSize, BinsPerWindow [ , dim1,dim2, ...])
Дополнительные сведения о соглашениях синтаксиса.
Параметры
| Имя (название) | Type | Обязательно | Описание |
|---|---|---|---|
| T | string |
✔️ | Входное табличное выражение. |
| ValueColumn | string |
✔️ | Имя столбца, используемого для вычисления процентилей. |
| Процентиль | int, long или real | ✔️ | Скалярный с процентилем для вычисления. |
| IndexColumn | string |
✔️ | Имя столбца, на котором выполняется скользякое окно. |
| BinSize | int, long, real, datetime или timepan | ✔️ | Скаляр с размером ячеек, применяемых к IndexColumn. |
| BinsPerWindow | int |
✔️ | Количество ячеек, включенных в каждое окно. |
| dim1, dim2, ... | string |
Список столбцов измерений для среза. |
Возвраты
Возвращает таблицу с строкой на каждую ячейку (и сочетание измерений, если указано), которая имеет скользящую процентиль значений в окне, заканчивающуюся в ячейке (включительно). Схема выходной таблицы:
| IndexColumn | dim1 | ... | dim_n | rolling_BinsPerWindow_percentile_ValueColumn_Pct |
|---|
Примеры
Скользящее 3-дневное значение медиана в день
Следующий запрос вычисляет 3-дневное значение медиана в ежедневной детализации. Каждая строка в выходных данных представляет значение медиана для последних 3 ячейки (дней), включая саму ячейку.
let T =
range idx from 0 to 24 * 10 - 1 step 1
| project Timestamp = datetime(2018-01-01) + 1h * idx, val=idx + 1
| extend EvenOrOdd = iff(val % 2 == 0, "Even", "Odd");
T
| evaluate rolling_percentile(val, 50, Timestamp, 1d, 3)
Выходные данные
| Метка времени | rolling_3_percentile_val_50 |
|---|---|
| 2018-01-01 00:00:00.0000000 | 12 |
| 2018-01-02 00:00:00.0000000 | 24 |
| 2018-01-03 00:00:00.0000000 | 36 |
| 2018-01-04 00:00:00.0000000 | 60 |
| 2018-01-05 00:00:00.0000000 | 84 |
| 2018-01-06 00:00:00.0000000 | 108 |
| 2018-01-07 00:00:00.0000000 | 132 |
| 2018-01-08 00:00:00.0000000 | 156 |
| 2018-01-09 00:00:00.0000000 | 180 |
| 2018-01-10 00:00:00.0000000 | 204 |
Скользящее 3-дневное значение медиана в день по измерению
Тот же пример, приведенный выше, но теперь вычисляет скользящее окно, секционированного для каждого значения измерения.
let T =
range idx from 0 to 24 * 10 - 1 step 1
| project Timestamp = datetime(2018-01-01) + 1h * idx, val=idx + 1
| extend EvenOrOdd = iff(val % 2 == 0, "Even", "Odd");
T
| evaluate rolling_percentile(val, 50, Timestamp, 1d, 3, EvenOrOdd)
Выходные данные
| Метка времени | EvenOrOdd | rolling_3_percentile_val_50 |
|---|---|---|
| 2018-01-01 00:00:00.0000000 | Даже | 12 |
| 2018-01-02 00:00:00.0000000 | Даже | 24 |
| 2018-01-03 00:00:00.0000000 | Даже | 36 |
| 2018-01-04 00:00:00.0000000 | Даже | 60 |
| 2018-01-05 00:00:00.0000000 | Даже | 84 |
| 2018-01-06 00:00:00.0000000 | Даже | 108 |
| 2018-01-07 00:00:00.0000000 | Даже | 132 |
| 2018-01-08 00:00:00.0000000 | Даже | 156 |
| 2018-01-09 00:00:00.0000000 | Даже | 180 |
| 2018-01-10 00:00:00.0000000 | Даже | 204 |
| 2018-01-01 00:00:00.0000000 | Странный | 11 |
| 2018-01-02 00:00:00.0000000 | Странный | 23 |
| 2018-01-03 00:00:00.0000000 | Странный | 35 |
| 2018-01-04 00:00:00.0000000 | Странный | 59 |
| 2018-01-05 00:00:00.0000000 | Странный | 83 |
| 2018-01-06 00:00:00.0000000 | Странный | 107 |
| 2018-01-07 00:00:00.0000000 | Странный | 131 |
| 2018-01-08 00:00:00.0000000 | Странный | 155 |
| 2018-01-09 00:00:00.0000000 | Странный | 179 |
| 2018-01-10 00:00:00.0000000 | Странный | 203 |