Kom igångKom igång gratis

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

Visa kurs

Ö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;
Redigera och kör kod