Partager via


prev()

S’applique à : ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Retourne la valeur d’une colonne spécifique dans une ligne spécifiée. La ligne spécifiée se trouve à un décalage spécifié de la ligne actuelle dans un jeu de lignes sérialisé.

Syntaxe

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

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
column string ✔️ Colonne à partir de laquelle obtenir les valeurs.
offset int Décalage pour revenir en arrière dans les lignes. La valeur par défaut est 1.
default_value scalaire Valeur par défaut à utiliser lorsqu’il n’existe aucune ligne précédente à partir de laquelle prendre la valeur. Par défaut, il s’agit de null.

Exemples

Filtrer les données en fonction de la comparaison entre les lignes adjacentes

La requête suivante retourne des lignes qui affichent des sauts de plus d’un quart de seconde entre les appels à sensor-9.

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

Sortie

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

Effectuer une agrégation en fonction de la comparaison entre les lignes adjacentes

La requête suivante calcule la différence de temps moyenne en millisecondes entre les appels à sensor-9.

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

Sortie

avg_timeDiffInMilliseconds
30.726900061254298

Étendre la ligne avec des données de la ligne précédente

Dans la requête suivante, dans le cadre de la sérialisation effectuée avec l’opérateur sérialiser, une nouvelle colonne previous_session_type est ajoutée avec des données de la ligne précédente. Étant donné qu’il n’y a pas eu de session avant la première session, la colonne est vide dans la première ligne.

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

Sortie

time_and_duration session_title session_type previous_session_type
Mon, 6 mai, 8:30-10:00 Vision Keynote - Satya Nadella Présentation
Mon, 6 mai, 1:20-1:40 Azure Data Explorer : Analyse avancée des séries chronologiques Expo Session Présentation
Mon, 6 mai, 2:00-3:00 Plateforme de données Azure - Powering Modern Applications and Cloud Scale Analytics à l’échelle pétaoctet Breakout Expo Session
Mon, 6 mai, 4h00-17h20 Utilisation d’Azure Data Services Expo Session Breakout
Mon, 6 mai, 6h50 - 17h10 Azure Data Explorer : Opérationnaliser vos modèles ML Expo Session Expo Session
... ... ... ...