Pohled do minulých i budoucích období
Okenní funkce LAG() a LEAD() ti umožňují nahlédnout zpět nebo dopředu v čase. Díky tomu můžeš porovnávat data z různých období v jediném přehledném dotazu.
V tomto cvičení porovnáme počet bezpečnostních incidentů podle dne pro typy incidentů 1 a 2 během července 2019 – konkrétně za období od 2. do 31. července.
Toto cvičení je součástí kurzu
Time Series Analysis in SQL Server
Pokyny k cvičení
- Doplň okenní funkci, která vrátí počet incidentů z předchozího dne, s oddělením podle ID typu incidentu a seřazením podle data incidentu.
- Doplň okenní funkci, která vrátí počet incidentů z následujícího dne, s oddělením podle ID typu incidentu a seřazením podle data incidentu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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;