SUM() ile kümülatif toplamlar
Pencere fonksiyonlarının en güçlü kullanımlarından biri kümülatif toplamları hesaplamaktır: belirli bir zaman diliminde bir değerin sürekli artan toplamı. Burada, 2019 Temmuz ayında her tarih ve olay türü için kaç olay gerçekleştiğini ve ayrıca olay türüne göre toplam olay sayısının kümülatif artışını hesaplamak için bir pencere fonksiyonu kullanmak istiyoruz. Tek bir sorguda bu problemi çözmemize bir pencere fonksiyonu yardımcı olacak.
Bu egzersiz, kursun bir parçasıdır
SQL Server'da Zaman Serisi Analizi
Egzersiz talimatları
- Doğru pencere fonksiyonunu doldur.
- Pencere fonksiyonunda
PARTITION BYifadesini doldur; olay türü kimliğine göre bölümlendir. - Pencere fonksiyonunda
ORDER BYifadesini doldur; olay tarihine göre (varsayılan, artan sırada) sırala.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
SELECT
ir.IncidentDate,
ir.IncidentTypeID,
ir.NumberOfIncidents,
-- Get the total number of incidents
___(ir.NumberOfIncidents) OVER (
-- Do this for each incident type ID
PARTITION BY ir.___
-- Sort by the incident date
ORDER BY ir.___
) AS NumberOfIncidents
FROM dbo.IncidentRollup ir
INNER JOIN dbo.Calendar c
ON ir.IncidentDate = c.Date
WHERE
c.CalendarYear = 2019
AND c.CalendarMonth = 7
AND ir.IncidentTypeID IN (1, 2)
ORDER BY
ir.IncidentTypeID,
ir.IncidentDate;