Sdílet prostřednictvím


prev()

Vrátí hodnotu konkrétního sloupce v zadaném řádku. Zadaný řádek je v zadaném posunu od aktuálního řádku v serializované sadě řádků.

Syntax

prev(Sloupec, [ posun ], [ default_value ] )

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
sloupec string ✔️ Sloupec, ze kterého chcete získat hodnoty.
Posun int Posun pro návrat v řádcích zpět. Výchozí hodnota je 1.
default_value Skalár Výchozí hodnota, která se použije, pokud neexistují žádné předchozí řádky, ze kterých by se hodnota převzala. Výchozí formát je null.

Příklady

Filtrování dat na základě porovnání sousedních řádků

Následující dotaz vrátí řádky, které mezi voláními zobrazují konce delší než čtvrtinu sekundy sensor-9.

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

Výstup

Timestamp Název senzoru Hodnota PublisherId ID počítače 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
... ... ... ... ... ...

Provedení agregace na základě porovnání sousedních řádků

Následující dotaz vypočítá průměrný časový rozdíl v milisekundách mezi voláními .sensor-9

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

Výstup

avg_timeDiffInMilliseconds
30.726900061254298

Rozšíření řádku o data z předchozího řádku

V následujícím dotazu v rámci serializace provedené pomocí operátoru serializace je přidán nový sloupec previous_session_type s daty z předchozího řádku. Vzhledem k tomu, že před první relací nebyla žádná relace, je sloupec v prvním řádku prázdný.

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

Výstup

time_and_duration session_title session_type previous_session_type
Po, 6. května, 8:30-10:00 Vision Keynote – Satya Nadella Keynote
Po, 6. května, 13:20-13:40 Azure Data Explorer: Pokročilá analýza časových řad Expo Session Keynote
Po, 6. května, 14:00-15:00 Datová platforma Azure – Napájení moderních aplikací a analýzy cloudového škálování v petabajtovém měřítku Breakout Expo Session
Po, May 6, 4:00-16:20 pm Jak SPOLEČNOST SPOLEČNOST používá datové služby Azure Expo Session Breakout
Po, 6. května, 6:50 - 19:10 Azure Data Explorer: Zprovoznění modelů ML Expo Session Expo Session
... ... ... ...