Udostępnij za pośrednictwem


prev()

Dotyczy: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Zwraca wartość określonej kolumny w określonym wierszu. Określony wiersz znajduje się na określonym przesunięcie z bieżącego wiersza w serializowanym zestawie wierszy.

Składnia

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

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania opis
kolumna string ✔️ Kolumna, z której mają być uzyskiwane wartości.
offset int Przesunięcie, aby wrócić do wierszy. Wartość domyślna to 1.
default_value skalar Wartość domyślna, która ma być używana, gdy nie ma poprzednich wierszy, z których ma zostać pobrana wartość. Wartość domyślna to null.

Przykłady

Filtrowanie danych na podstawie porównania między sąsiednimi wierszami

Następujące zapytanie zwraca wiersze, które pokazują podziały dłuższe niż jedna czwarta sekundy między wywołaniami .sensor-9

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

Wyjście

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

Wykonywanie agregacji na podstawie porównania między sąsiednimi wierszami

Poniższe zapytanie oblicza średnią różnicę czasu w milisekundach między wywołaniami funkcji sensor-9.

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

Wyjście

avg_timeDiffInMilliseconds
30.726900061254298

Rozszerzanie wiersza danymi z poprzedniego wiersza

W poniższym zapytaniu w ramach serializacji wykonanej z operatorem serializacji nowa kolumna previous_session_type jest dodawana z danymi z poprzedniego wiersza. Ponieważ nie było sesji przed pierwszą sesją, kolumna jest pusta w pierwszym wierszu.

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

Wyjście

time_and_duration session_title session_type previous_session_type
Pon, 6 maja, 8:30-10:00 Prezentacja wizja — Satya Nadella Prezentacja
Pon, 6 maja, 1:20-13:40 Azure Data Explorer: zaawansowana analiza szeregów czasowych Sesja Expo Prezentacja
Pon, 6 maja, 2:00-15:00 Platforma danych platformy Azure — obsługa nowoczesnych aplikacji i analizy skalowania w chmurze na dużą skalę petabajtów Breakout Sesja Expo
Pon, 6 maja, 16:00-16:20 W jaki sposób USŁUGA RIGHTS korzysta z usług Azure Data Services Sesja Expo Breakout
Pon, 6 maja, 6:50 - 19:10 Azure Data Explorer: Operacjonalizacja modeli uczenia maszynowego Sesja Expo Sesja Expo
... ... ... ...