Compartilhar via


prev()

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft 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
... ... ... ...