prev()

Retourneert de waarde van een specifieke kolom in een opgegeven rij. De opgegeven rij bevindt zich op een opgegeven offset van de huidige rij in een geserialiseerde rijenset.

Syntax

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

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
kolom string ✔️ De kolom waaruit de waarden moeten worden opgehaald.
offset int De verschuiving om in rijen terug te gaan. De standaardwaarde is 1.
default_value Scalaire De standaardwaarde die moet worden gebruikt wanneer er geen vorige rijen zijn waaruit de waarde moet worden opgehaald. De standaardwaarde is null.

Voorbeelden

Gegevens filteren op basis van vergelijking tussen aangrenzende rijen

De volgende query retourneert rijen met onderbrekingen die langer zijn dan een kwart van een seconde tussen aanroepen naar sensor-9.

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

Uitvoer

Tijdstempel SensorName Waarde 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
... ... ... ... ... ...

Aggregatie uitvoeren op basis van vergelijking tussen aangrenzende rijen

De volgende query berekent het gemiddelde tijdsverschil in milliseconden tussen aanroepen naar sensor-9.

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

Uitvoer

avg_timeDiffInMilliseconds
30.726900061254298

Rij uitbreiden met gegevens uit de vorige rij

In de volgende query wordt, als onderdeel van de serialisatie uitgevoerd met de serialisatieoperator, een nieuwe kolom previous_session_type toegevoegd met gegevens uit de vorige rij. Omdat er geen sessie was voorafgaand aan de eerste sessie, is de kolom leeg in de eerste rij.

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

Uitvoer

time_and_duration session_title session_type previous_session_type
Ma 6 mei, 8:30-10:00 uur Vision Keynote - Satya Nadella Keynote
Ma 6 mei, 13:20-13:40 uur Azure Data Explorer: geavanceerde tijdreeksanalyse Expo-sessie Keynote
Ma 6 mei, 14:00-15:00 uur Azure's Data Platform - Moderne toepassingen en cloudschaalanalyses op Petabyte-schaal mogelijk maken Breakout Expo-sessie
Ma 6 mei, 16:00-16:20 uur Hoe BASF Azure Data Services gebruikt Expo-sessie Breakout
Ma 6 mei, 18:50 - 19:10 uur Azure Data Explorer: uw ML-modellen operationeel maken Expo-sessie Expo-sessie
... ... ... ...