Freigeben über


prev()

Gilt für: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Gibt den Wert einer bestimmten Spalte in einer angegebenen Zeile zurück. Die angegebene Zeile befindet sich an einem angegebenen Offset aus der aktuellen Zeile in einem serialisierten Zeilensatz.

Syntax

prev(spalte, [ offset ], [ default_value ] )

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich BESCHREIBUNG
column string ✔️ Die Spalte, aus der die Werte abgerufen werden sollen.
offset int Der Offset, der in Zeilen zurückgesetzt werden soll. Der Standardwert ist 1.
default_value Skalarwert Der Standardwert, der verwendet werden soll, wenn keine vorherigen Zeilen vorhanden sind, aus denen der Wert verwendet werden soll. Der Standardwert ist null.

Beispiele

Filtern von Daten basierend auf dem Vergleich zwischen benachbarten Zeilen

Die folgende Abfrage gibt Zeilen zurück, die Länger als ein Viertel einer Sekunde zwischen Aufrufen sensor-9anzeigen.

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

Output

Timestamp SensorName Wert PublisherId MachineId timeDiff
2022-04-13T00:58:53.048506Z Sensor-9 0.39217481975439894 fdbd39ab-82ac-4ca0-99ed-2f83daf3f9bb M100 251
2022-04-13T01:07:09.63713Z Sensor-9 0.46645392778288297 e3ed081e-501b-4d59-8e60-852463d9131 M100 313
2022-04-13T01:07:10.858267Z Sensor-9 0.693091598493419 278ca033-2b5e-4f2c-b493-00319b275aea M100 254
2022-04-13T01:07:11.203834Z Sensor-9 0.52415808840249778 4ea27181-392d-4947-b811-ad5af02a54bb M100 331
2022-04-13T01:07:14.431908Z Sensor-9 0.35430645405452 0af415c2-59dc-4a50-89c3-9a18ae5d621f M100 268
... ... ... ... ... ...

Aggregation basierend auf dem Vergleich zwischen benachbarten Zeilen durchführen

Die folgende Abfrage berechnet die durchschnittliche Zeitdifferenz in Millisekunden zwischen Aufrufen von sensor-9.

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

Output

avg_timeDiffInMilliseconds
30.726900061254298

Erweitern der Zeile mit Daten aus der vorherigen Zeile

In der folgenden Abfrage wird im Rahmen der Serialisierung mit dem Serialisierungsoperator eine neue Spalte previous_session_type mit Daten aus der vorherigen Zeile hinzugefügt. Da es vor der ersten Sitzung keine Sitzung gab, ist die Spalte in der ersten Zeile leer.

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

Output

time_and_duration session_title session_type previous_session_type
Mon, 6. Mai, 8:30-10:00 Uhr Vision Keynote - Satya Nadella Keynote
Mon, 6. Mai, 1:20-1:40 Uhr Azure Data Explorer: Erweiterte Zeitreihenanalyse Expo-Sitzung Keynote
Mon, 6. Mai, 2:00-3:00 Uhr Datenplattform von Azure – Powering Modern Applications and Cloud Scale Analytics im Petabyte-Maßstab Ausbruch Expo-Sitzung
Mon, 6. Mai, 4:00-14:20 Uhr Wie BASF Azure Data Services verwendet Expo-Sitzung Ausbruch
Mon, 6. Mai, 6:50 - 17:10 Uhr Azure Data Explorer: Operationalisieren Ihrer ML-Modelle Expo-Sitzung Expo-Sitzung
... ... ... ...