EmpezarEmpieza gratis

Ver periodos anteriores y posteriores

Las funciones de ventana LAG() y LEAD() nos permiten mirar hacia atrás o hacia adelante en el tiempo, respectivamente. Esto nos da la posibilidad de comparar datos periodo a periodo en una sola consulta, de forma sencilla.

En este ejercicio, queremos comparar el número de incidentes de seguridad por día para los tipos de incidente 1 y 2 durante julio de 2019, concretamente desde el 2 de julio hasta el 31 de julio.

Este ejercicio forma parte del curso

Análisis de series temporales en SQL Server

Ver curso

Instrucciones del ejercicio

  • Completa la función de ventana para devolver el número de incidentes del día anterior, particionando por el ID del tipo de incidente y ordenando por la fecha del incidente.
  • Completa la función de ventana para devolver el número de incidentes del día siguiente, particionando por el ID del tipo de incidente y ordenando por la fecha del incidente.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

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 y ejecutar código