Поделиться через


Подключаемый модуль sequence_detect

Область применения: ✅Microsoft Fabric✅Azure Data Explorer

Обнаруживает вхождения последовательности на основе предоставленных предикатов. Подключаемый модуль вызывается оператором evaluate .

Синтаксис

T (| evaluate sequence_detect TimelineColumn, MaxSequenceStepWindow, MaxSequenceSpan, Expr1, , ..., Dim1, Dim2 ...,)

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
T string ✔️ Входное табличное выражение.
TimelineColumn string ✔️ Ссылка на столбец, представляющая временную шкалу, должна присутствовать в исходном выражении.
MaxSequenceStepWindow timespan ✔️ Значение максимального допустимого интервала времени между 2 последовательными шагами в последовательности.
MaxSequenceSpan timespan ✔️ Максимальное интервал времени для последовательности для выполнения всех шагов.
Expr1, Expr2, ... string ✔️ Логические выражения предиката, определяющие шаги последовательности.
Dim1, Dim2, ... string ✔️ Выражения измерения, используемые для сопоставления последовательностей.

Возвраты

Возвращает одну таблицу, в которой каждая строка в таблице представляет собой одно вхождение последовательности:

  • Dim1, Dim2, ...: столбцы измерения, используемые для сопоставления последовательностей.
  • Expr1TimelineColumn, Expr2TimelineColumn, ...: столбцы со значениями времени, представляющие временную шкалу каждого шага последовательности.
  • Длительность: общее окно времени последовательности

Примеры

Следующий запрос смотрит на таблицу T для поиска соответствующих данных из указанного периода времени.

T | evaluate sequence_detect(datetime_column, 10m, 1h, e1 = (Col1 == 'Val'), e2 = (Col2 == 'Val2'), Dim1, Dim2)

Изучение событий Storm

Следующий запрос выглядит на таблице StormEvents (статистика погоды за 2007 год) и показывает случаи, когда последовательность "Чрезмерная жара" последовала за "Лесным пожаром" в течение 5 дней.

StormEvents
| evaluate sequence_detect(
               StartTime,
               5d,  // step max-time
               5d,  // sequence max-time
               heat=(EventType == "Excessive Heat"), 
               wildfire=(EventType == 'Wildfire'), 
               State
           )

Выходные данные

Штат heat_StartTime wildfire_StartTime Duration
CALIFORNIA 2007-05-08 00:00:00.0000000 2007-05-08 16:02:00.0000000 16:02:00
CALIFORNIA 2007-05-08 00:00:00.0000000 2007-05-10 11:30:00.0000000 2.11:30:00
CALIFORNIA 2007-07-04 09:00:00.0000000 2007-07-05 23:01:00.0000000 1.14:01:00
ЮЖНАЯ ДАКОТА 2007-07-23 12:00:00.0000000 2007-07-27 09:00:00.0000000 3.21:00:00
TEXAS 2007-08-10 08:00:00.0000000 2007-08-11 13:56:00.0000000 1.05:56:00
CALIFORNIA 2007-08-31 08:00:00.0000000 2007-09-01 11:28:00.0000000 1.03:28:00
CALIFORNIA 2007-08-31 08:00:00.0000000 2007-09-02 13:30:00.0000000 2.05:30:00
CALIFORNIA 2007-09-02 12:00:00.0000000 2007-09-02 13:30:00.0000000 01:30:00