Подключаемый модуль rolling_percentile()
Возвращает оценку для указанного процентиля заполнения ValueColumn в скользящем (скользящем) окне размера BinsPerWindow для каждого размера BinSize.
Подключаемый модуль вызывается с evaluate
помощью оператора .
Синтаксис
T| evaluate
rolling_percentile(
ValueColumn,
Процентиль,
IndexColumn,
BinSize,
BinsPerWindow [,
dim1,
dim2,
...] )
Дополнительные сведения о соглашениях о синтаксисе.
Параметры
Имя | Тип | Обязательно | Описание |
---|---|---|---|
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 |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по