Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Växla tjänster genom att använda listrutan Version. Läs mer om navigering.
Gäller för: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Beräknar sessionsstartvärden för en kolumn i en serialiserad raduppsättning.
Syntax
row_window_session
(
Uttryck,MaxDistanceFromFirst,MaxDistanceBetweenNeighbors [,Starta om] )
Parameterar
| Namn | Typ | Krävs | Description |
|---|---|---|---|
| Uttryck | datetime |
✔️ | Ett uttryck vars värden grupperas tillsammans i sessioner. När Uttr resulterar i ett null-värde startar nästa värde en ny session. |
| MaxDistanceFromFirst | timespan |
✔️ | Avgör när en ny session börjar använda det maximala avståndet mellan det aktuella uttr-värdet och dess värde i början av sessionen. |
| MaxDistanceBetweenNeighbors | timespan |
✔️ | Ett annat kriterium för att starta en ny session med det maximala avståndet från ett värde för Expr till nästa. |
| Starta om | boolean |
Om det anges startar varje värde som utvärderas till true att omedelbart starta om sessionen. |
Läs mer om syntaxkonventioner.
Retur
Funktionen returnerar värdena i början av varje session. Den använder följande konceptuella beräkningsmodell:
Itererar över indatasekvensen för Expr-värden i ordning.
För varje värde avgörs om en ny session ska skapas.
Om en ny session skapas returnerar funktionen det aktuella värdet för Expr. Annars returneras det tidigare värdet för Expr.
Anmärkning
Värdet representerar en ny session om den uppfyller följande villkor med hjälp av den logiska OR-åtgärden:
- Om det inte fanns något tidigare sessionsvärde eller om föregående sessionsvärde var null.
- Om värdet för Expr är lika med eller överskrider föregående sessionsvärde plus MaxDistanceFromFirst.
- Om värdet för Expr är lika med eller överskrider det tidigare värdet för Expr plus MaxDistanceBetweenNeighbors.
- Om
Restartvillkor anges och utvärderas tilltrue.
Examples
I följande exempel beräknas sessionsstartvärden för en tabell, datatable, med en sekvens-ID-kolumn och en tidsstämpelkolumn för att registrera tiden för varje post. Data sorteras efter sekvens-ID:n och tidsstämplarna och sedan returnerar exemplet värden för ID, Tidsstämpel och en ny SessionStarted-kolumn . En session får inte överstiga en timme. Den fortsätter så länge posterna är mindre än fem minuters mellanrum och ID:t förblir detsamma. Exemplet innehåller poster med mindre än fem minuters mellanrum.
datatable (ID:string, Timestamp:datetime) [
"1", datetime(2024-04-11 10:00:00),
"2", datetime(2024-04-11 10:18:00),
"1", datetime(2024-04-11 11:00:00),
"3", datetime(2024-04-11 11:30:00),
"2", datetime(2024-04-11 13:30:00),
"2", datetime(2024-04-11 10:16:00)
]
| sort by ID asc, Timestamp asc
| extend SessionStarted = row_window_session(Timestamp, 1h, 5m, ID != prev(ID))
Resultat
| ID-nummer | Tidsstämpel | SessionStartad |
|---|---|---|
| 1 | 2024-04-11T10:00:00Z | 2024-04-11T10:00:00Z |
| 1 | 2024-04-11T11:00:00Z | 2024-04-11T11:00:00Z |
| 2 | 2024-04-11T10:16:00Z | 2024-04-11T10:16:00Z |
| 2 | 2024-04-11T10:18:00Z | 2024-04-11T10:16:00Z |
| 2 | 2024-04-11T13:30:00Z | 2024-04-11T13:30:00Z |
| 3 | 2024-04-11T11:30:00Z | 2024-04-11T11:30:00Z |