BaşlayınÜcretsiz başlayın

Hareketli ortalamaları hesaplama

Zamansal olarak en baştan bugüne kadar olan kümülatif toplam yerine, yönetim son 7 gündeki olayların ortalama sayısını görmek istiyor—yani 6 gün önce başlayıp bugünkü tarihte biten bir aralık. Bu, sorgumuz boyunca değişen belirli bir çerçeve üzerinde olduğu için buna hareketli ortalama denir.

SQL Server, pencere fonksiyonlarında zaman aralıklarına bakma yeteneğine sahip değildir; bu yüzden günde bir satır olduğunu varsayacak ve ROWS ifadesini kullanacağız.

Bu egzersiz, kursun bir parçasıdır

SQL Server'da Zaman Serisi Analizi

Kursa Göz Atın

Egzersiz talimatları

  • 6 gün önceden bugüne (mevcut satır) kadar başlayan bir hareketli ortalama hesaplamak için doğru pencere fonksiyonunu doldur.
  • ROWS ifadesi, pencere çerçevesinin önceki ve sonraki kısımları dahil olmak üzere pencere çerçevesini doldur.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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;
Kodu Düzenle ve Çalıştır