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


prev()

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

Возвращает значение определенного столбца в указанной строке. Указанная строка находится в указанном смещение от текущей строки в сериализованном наборе строк.

Синтаксис

prev(столбец [ смещение ], [ default_value ] ,)

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

Параметры

Имя (название) Type Обязательно Описание
column string ✔️ Столбец, из которого нужно получить значения.
offset int Смещение, возвращаемого в строки. Значение по умолчанию — 1.
default_value скаляр Значение по умолчанию, используемое при отсутствии предыдущих строк, из которых требуется принять значение. Значение по умолчанию — null.

Примеры

Фильтрация данных на основе сравнения смежных строк

Следующий запрос возвращает строки, показывающие разрывы дольше четверти секунды между вызовами sensor-9.

TransformedSensorsData
| where SensorName == 'sensor-9'
| sort by Timestamp asc
| extend timeDiffInMilliseconds = datetime_diff('millisecond', Timestamp, prev(Timestamp, 1))
| where timeDiffInMilliseconds > 250

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

Метка времени SensorName Значение PublisherId MachineId TimeDiff
2022-04-13T00:58:53.048506Z датчик-9 0.39217481975439894 fdbd39ab-82ac-4ca0-99ed-2f83daf3f9bb M100 251
2022-04-13T01:07:09.63713Z датчик-9 0.46645392778288297 e3ed081e-501b-4d59-8e60-8524633d9131 M100 313
2022-04-13T01:07:10.858267Z датчик-9 0.693091598493419 278ca033-2b5e-4f2c-b493-00319b275aea M100 254
2022-04-13T01:07:11.203834Z датчик-9 0.52415808840249778 4ea27181-392d-4947-b811-ad5af02a54bb M100 331
2022-04-13T01:07:14.431908Z датчик-9 0.35430645405452 0af415c2-59dc-4a50-89c3-9a18ae5d621f M100 268
... ... ... ... ... ...

Выполнение агрегирования на основе сравнения смежных строк

Следующий запрос вычисляет среднее различие времени в миллисекундах между вызовами sensor-9.

TransformedSensorsData
| where SensorName == 'sensor-9'
| sort by Timestamp asc
| extend timeDiffInMilliseconds = datetime_diff('millisecond', Timestamp, prev(Timestamp, 1))
| summarize avg(timeDiffInMilliseconds)

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

avg_timeDiffInMilliseconds
30.726900061254298

Расширение строки с данными из предыдущей строки

В следующем запросе в рамках сериализации, выполненной с помощью оператора сериализации, новый столбец previous_session_type добавляется с данными из предыдущей строки. Так как до первого сеанса не было сеанса, столбец пуст в первой строке.

ConferenceSessions
| where conference == 'Build 2019'
| serialize previous_session_type = prev(session_type)
| project time_and_duration, session_title, session_type, previous_session_type

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

time_and_duration session_title session_type previous_session_type
Мон, 6 мая, 8:30-10:00 утра Ключевое представление - Сатя Наделла Основное занятие
Мон, 6 мая, 1:20-1:40 вечера Azure Data Explorer: расширенный анализ временных рядов Сеанс экспоненциального сеанса Основное занятие
Мон, 6 мая, 2:00-3:00 вечера Платформа данных Azure — powering Modern Applications and Cloud Scale Analytics at Petabyte Scale Прорыва Сеанс экспоненциального сеанса
Мон, 6 мая, 4:00-4:20 вечера Как BASF использует службы данных Azure Сеанс экспоненциального сеанса Прорыва
Мон, 6 мая, 6:50 - 7:10 вечера Azure Data Explorer: эксплуатация моделей машинного обучения Сеанс экспоненциального сеанса Сеанс экспоненциального сеанса
... ... ... ...