prev()
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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-9
anzeigen.
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 |
... | ... | ... | ... |