Beräkna glidande medelvärden
I stället för att titta på ett löpande totalt från tidernas begynnelse till nu vill ledningen se det genomsnittliga antalet incidenter under de senaste 7 dagarna – det vill säga från och med 6 dagar sedan till och med dagens datum. Eftersom detta gäller över en angiven ram som förändras under frågans gång kallas det ett glidande medelvärde.
SQL Server kan inte använda tidsintervall i fönsterfunktioner, så vi antar att det finns en rad per dag och använder ROWS-satsen.
Den här övningen är en del av kursen
Tidsserieanalys i SQL Server
Övningsinstruktioner
- Fyll i rätt fönsterfunktion för att beräkna ett glidande medelvärde från och med 6 dagar sedan till och med i dag (den aktuella raden).
- Fyll i fönsterramen, inklusive
ROWS-satsen, föregående fönsterramsgräns och efterföljande fönsterramsgräns.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
SELECT
ir.IncidentDate,
ir.IncidentTypeID,
ir.NumberOfIncidents,
-- Fill in the correct window function
___(ir.NumberOfIncidents) OVER (
PARTITION BY ir.IncidentTypeID
ORDER BY ir.IncidentDate
-- Fill in the three parts of the window frame
___ BETWEEN ___ AND ___
) AS MeanNumberOfIncidents
FROM dbo.IncidentRollup ir
INNER JOIN dbo.Calendar c
ON ir.IncidentDate = c.Date
WHERE
c.CalendarYear = 2019
AND c.CalendarMonth IN (7, 8)
AND ir.IncidentTypeID = 1
ORDER BY
ir.IncidentTypeID,
ir.IncidentDate;