prev()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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 |
... | ... | ... | ... |