Önceki ve sonraki dönemleri görmek
LAG() ve LEAD() pencere işlevleri, sırasıyla zamanda geriye veya ileriye bakmamızı sağlar. Böylece dönemden döneme verileri tek ve kolay bir sorguda karşılaştırabiliriz.
Bu egzersizde, 2019 Temmuz ayında, özellikle 2 Temmuz'da başlayıp 31 Temmuz'da biten dönemde, olay türleri 1 ve 2 için günlük güvenlik olayı sayılarını karşılaştırmak istiyoruz.
Bu egzersiz, kursun bir parçasıdır
SQL Server'da Zaman Serisi Analizi
Egzersiz talimatları
- Olay türü kimliğine göre bölümlenmiş ve olay tarihine göre sıralanmış şekilde, bir önceki günün olay sayısını döndürecek pencere işlevini doldur.
- Olay türü kimliğine göre bölümlenmiş ve olay tarihine göre sıralanmış şekilde, bir sonraki günün olay sayısını döndürecek pencere işlevini doldur.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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;