Voir les périodes précédentes et suivantes
Les fonctions de fenêtrage LAG() et LEAD() permettent de regarder respectivement en arrière ou en avant dans le temps. Elles facilitent ainsi la comparaison des données d'une période à l'autre dans une seule requête simple.
Dans cet exercice, vous allez comparer le nombre d'incidents de sécurité par jour pour les types d'incident 1 et 2 durant juillet 2019, plus précisément pour la période du 2 juillet au 31 juillet.
Cette activité fait partie du cours
Analyse de séries chronologiques dans SQL Server
Instructions de l’exercice
- Complétez la fonction de fenêtrage pour retourner le nombre d'incidents de la veille, avec partition par identifiant de type d'incident et tri par date d'incident.
- Complétez la fonction de fenêtrage pour retourner le nombre d'incidents du lendemain, avec partition par identifiant de type d'incident et tri par date d'incident.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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;