Frühere und kommende Zeiträume betrachten
Die Fensterfunktionen LAG() und LEAD() erlauben es uns, in der Zeit rückwärts bzw. vorwärts zu schauen. Dadurch können wir Periodenwerte in einer einzigen, einfachen Abfrage miteinander vergleichen.
In dieser Übung wollen wir die Anzahl der Sicherheitsvorfälle pro Tag für die Vorfallstypen 1 und 2 im Juli 2019 vergleichen, konkret für den Zeitraum vom 2. Juli bis einschließlich 31. Juli.
Diese Übung ist Teil des Kurses
Zeitreihenanalyse in SQL Server
Anleitung zur Übung
- Ergänze die Fensterfunktion, um die Anzahl der Vorfälle des Vortags zurückzugeben, partitioniert nach der Vorfalltyp-ID und sortiert nach dem Vorfallsdatum.
- Ergänze die Fensterfunktion, um die Anzahl der Vorfälle des nächsten Tages zurückzugeben, partitioniert nach der Vorfalltyp-ID und sortiert nach dem Vorfallsdatum.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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;