Compartir a través de


prev()

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Devuelve el valor de una columna específica de una fila especificada. La fila especificada se encuentra en un desplazamiento especificado de la fila actual en un conjunto de filas serializado.

Sintaxis

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

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Type Obligatorio Descripción
column string ✔️ Columna de la que se van a obtener los valores.
offset int Desplazamiento que se va a retroceder en filas. El valor predeterminado es 1.
default_value escalares Valor predeterminado que se va a usar cuando no hay filas anteriores desde las que se va a tomar el valor. El valor predeterminado es null.

Ejemplos

Filtrar datos en función de la comparación entre filas adyacentes

La consulta siguiente devuelve filas que muestran interrupciones más de un trimestre de un segundo entre las llamadas a sensor-9.

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

Salida

Marca de tiempo SensorName Valor 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
... ... ... ... ... ...

Realizar la agregación en función de la comparación entre filas adyacentes

La consulta siguiente calcula la diferencia media de tiempo en milisegundos entre las llamadas a sensor-9.

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

Salida

avg_timeDiffInMilliseconds
30.726900061254298

Extensión de la fila con datos de la fila anterior

En la consulta siguiente, como parte de la serialización realizada con el operador serialize, se agrega una nueva columna previous_session_type con datos de la fila anterior. Puesto que no había ninguna sesión antes de la primera sesión, la columna está vacía en la primera fila.

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

Salida

time_and_duration session_title session_type previous_session_type
Lunes, 6 de mayo, 8:30-10:00 am Presentación de visión - Satya Nadella Sesión inaugural
Lunes, 6 de mayo, 1:20-1:40 p. m. Azure Data Explorer: análisis avanzado de series temporales Expo Session Sesión inaugural
Lunes, 6 de mayo de 2:00-3:00 p. m. Plataforma de datos de Azure: potenciación de aplicaciones modernas y análisis de escala en la nube a escala de Petabyte Evasión Expo Session
Lunes, 6 de mayo, 4:00-4:20 p. m. Uso de AZURE Data Services Expo Session Evasión
Lunes, 6 de mayo, 6:50 - 7:10 p. m. Azure Data Explorer: Operacionalización de los modelos de Machine Learning Expo Session Expo Session
... ... ... ...