prev()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Retorna o valor de uma coluna específica em uma linha especificada. A linha especificada está em um deslocamento especificado da linha atual em um conjunto de linhas serializadas.
Sintaxe
prev(
coluna,
[ offset ],
[ default_value ] )
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
column | string |
✔️ | A coluna da qual obter os valores. |
deslocamento | int |
O deslocamento para voltar em linhas. O padrão é 1. | |
default_value | scalar | O valor padrão a ser usado quando não houver linhas anteriores das quais obter o valor. O padrão é null . |
Exemplos
Filtrar dados com base na comparação entre linhas adjacentes
A consulta a seguir retorna linhas que mostram intervalos com mais de um quarto de segundo entre chamadas para sensor-9
.
TransformedSensorsData
| where SensorName == 'sensor-9'
| sort by Timestamp asc
| extend timeDiffInMilliseconds = datetime_diff('millisecond', Timestamp, prev(Timestamp, 1))
| where timeDiffInMilliseconds > 250
Saída
Timestamp | 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 |
... | ... | ... | ... | ... | ... |
Executar agregação com base na comparação entre linhas adjacentes
A consulta a seguir calcula a diferença de tempo média em milissegundos entre chamadas para sensor-9
.
TransformedSensorsData
| where SensorName == 'sensor-9'
| sort by Timestamp asc
| extend timeDiffInMilliseconds = datetime_diff('millisecond', Timestamp, prev(Timestamp, 1))
| summarize avg(timeDiffInMilliseconds)
Saída
avg_timeDiffInMilliseconds |
---|
30.726900061254298 |
Estender linha com dados da linha anterior
Na consulta a seguir, como parte da serialização feita com o operador serialize, uma nova coluna previous_session_type
é adicionada com dados da linha anterior. Como não houve sessão antes da primeira sessão, a coluna está vazia na primeira linha.
ConferenceSessions
| where conference == 'Build 2019'
| serialize previous_session_type = prev(session_type)
| project time_and_duration, session_title, session_type, previous_session_type
Saída
time_and_duration | session_title | session_type | previous_session_type |
---|---|---|---|
Seg, 6 de maio, das 8h30 às 10h00 | Palestra de Visão - Satya Nadella | Palestra | |
Seg, 6 de maio, 1h20-1h40 | Azure Data Explorer: análise avançada de séries temporais | Sessão da Expo | Palestra |
Seg, 6 de maio, das 14h00 às 15h00 | Plataforma de dados do Azure – Potencializando aplicativos modernos e análise em escala de nuvem em escala de petabytes | Fuga | Sessão da Expo |
Seg, 6 de maio, 4h00-4h20 | Como a BASF está usando os Serviços de Dados do Azure | Sessão da Expo | Fuga |
Seg, 6 de maio, 6h50 - 7h10 | Azure Data Explorer: operacionalizar seus modelos de ML | Sessão da Expo | Sessão da Expo |
... | ... | ... | ... |