ComeçarComece de graça

Vendo períodos anteriores e futuros

As funções de janela LAG() e LEAD() permitem olhar para trás ou para frente no tempo, respectivamente. Isso nos dá a capacidade de comparar dados de período a período em uma única consulta simples.

Neste exercício, queremos comparar o número de incidentes de segurança por dia para os tipos de incidente 1 e 2 durante julho de 2019, especificamente o período que começa em 2 de julho e termina em 31 de julho.

Este exercício faz parte do curso

Análise de Séries Temporais no SQL Server

Ver curso

Instruções do exercício

  • Complete a função de janela para retornar o número de incidentes do dia anterior, particionando pelo ID do tipo de incidente e ordenando pela data do incidente.
  • Complete a função de janela para retornar o número de incidentes do dia seguinte, particionando pelo ID do tipo de incidente e ordenando pela data do incidente.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

SELECT
	ir.IncidentDate,
	ir.IncidentTypeID,
    -- Get the prior day's number of incidents
	___(ir.___, ___) OVER (
      	-- Partition by incident type ID
		PARTITION BY ir.___
      	-- Order by incident date
		ORDER BY ir.___
	) AS PriorDayIncidents,
	ir.NumberOfIncidents AS CurrentDayIncidents,
    -- Get the next day's number of incidents
	___(ir.___, ___) OVER (
      	-- Partition by incident type ID
		PARTITION BY ir.___
      	-- Order by incident date
		ORDER BY ir.___
	) AS NextDayIncidents
FROM dbo.IncidentRollup ir
WHERE
	ir.IncidentDate >= '2019-07-02'
	AND ir.IncidentDate <= '2019-07-31'
	AND ir.IncidentTypeID IN (1, 2)
ORDER BY
	ir.IncidentTypeID,
	ir.IncidentDate;
Editar e executar o código