Share via


prev()

Returnerar värdet för en specifik kolumn på en angiven rad. Den angivna raden har en angiven förskjutning från den aktuella raden i en serialiserad raduppsättning.

Syntax

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

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
kolumn string ✔️ Kolumnen som värdena ska hämtas från.
offset int Förskjutningen för att gå tillbaka i rader. Standard är 1.
default_value Skalär Standardvärdet som ska användas när det inte finns några tidigare rader att ta värdet från. Standardvärdet är null.

Exempel

Filtrera data baserat på jämförelse mellan intilliggande rader

Följande fråga returnerar rader som visar avbrott som är längre än en fjärdedel av en sekund mellan anrop till sensor-9.

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

Resultat

Timestamp SensorName Värde 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-8524633d9131 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
... ... ... ... ... ...

Utföra aggregering baserat på jämförelse mellan intilliggande rader

Följande fråga beräknar den genomsnittliga tidsskillnaden i millisekunder mellan anrop till sensor-9.

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

Resultat

avg_timeDiffInMilliseconds
30.726900061254298

Utöka rad med data från föregående rad

I följande fråga, som en del av serialiseringen som utförs med serialiseringsoperatorn, läggs en ny kolumn previous_session_type till med data från föregående rad. Eftersom det inte fanns någon session före den första sessionen är kolumnen tom på den första raden.

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

Resultat

time_and_duration session_title session_type previous_session_type
Mån, 6 maj, 8:30-10:00 Vision Keynote - Satya Nadella Keynote
Mån, 6 maj, 13:20-13:40 Azure Data Explorer: Avancerad time series-analys Expo-session Keynote
Mån, 6 maj, 14:00-15:00 Azures dataplattform – Powering Modern Applications och Cloud Scale Analytics i Petabyte Scale Breakout Expo-session
Mån, 6 maj, 16:00-16:20 Så använder BASF Azure Data Services Expo-session Breakout
Mån, 6 maj, 6:50 - 19:10 Azure Data Explorer: Operationalisera dina ML-modeller Expo-session Expo-session
... ... ... ...