Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Alterne entre serviços usando a lista suspensa Version. Saiba mais sobre navegação.
Aplica a: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Calcula os valores de início de sessão de uma coluna num conjunto de linhas serializado.
Sintaxe
row_window_session
(
Expr,MaxDistânciaDo Primeiro,MaxDistânciaEntreVizinhos [,Reiniciar] )
Parâmetros
| Nome | Tipo | Obrigatório | Description |
|---|---|---|---|
| Expr | datetime |
✔️ | Uma expressão cujos valores são agrupados em sessões. Quando o Expr resulta num valor nulo, o valor seguinte inicia uma nova sessão. |
| MaxDistânciaDo Primeiro | timespan |
✔️ | Determina quando uma nova sessão começa usando a distância máxima entre o valor Expr atual e o seu valor no início da sessão. |
| MaxDistânciaEntreVizinhos | timespan |
✔️ | Outro critério para iniciar uma nova sessão usando a distância máxima de um valor de Expr para o seguinte. |
| Reiniciar | boolean |
Se especificado, todos os valores que avaliam true reiniciam imediatamente a sessão. |
Saiba mais sobre convenções de sintaxe.
Devoluções
A função devolve os valores no início de cada sessão. Utiliza o seguinte modelo conceptual de cálculo:
Itera sobre a sequência de entrada dos valores Expr por ordem.
Para cada valor, decide se cria uma nova sessão.
Se for criada uma nova sessão, a função devolve o valor atual de Expr. Caso contrário, devolve o valor anterior de Expr.
Observação
O valor representa uma nova sessão se cumprir as seguintes condições usando a operação lógica OR:
- Se não houve valor de sessão anterior, ou se o valor da sessão anterior foi nulo.
- Se o valor de Expr for igual ou superior ao valor da sessão anterior mais MaxDistanceFromFirst.
- Se o valor de Expr for igual ou superior ao valor anterior de Expr mais MaxDistânciaEntreVizinhos.
- Se
Restarta condição for especificada e avalie paratrue.
Examples
O exemplo seguinte calcula valores de início de sessão para uma tabela, datatable, com uma coluna de ID de sequência e uma coluna de carimbo temporal para registar a hora de cada registo. Os dados são ordenados pelos IDs de sequência e carimbos temporais e depois o exemplo devolve valores para ID,Timestamp e uma nova coluna SessionStarted . Uma sessão não pode exceder uma hora. Continua enquanto os registos estiverem com menos de cinco minutos de intervalo e o ID se mantiver igual. O exemplo inclui discos com menos de cinco minutos de intervalo.
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))
Output
| ID | Data e Hora | Sessão Iniciada |
|---|---|---|
| 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 |