मूविंग एवरेज की गणना
शुरू से अब तक के रनिंग टोटल के बजाय, मैनेजमेंट पिछले 7 दिनों में घटनाओं की औसत संख्या देखना चाहती है—अर्थात 6 दिन पहले से लेकर आज की तारीख तक. क्योंकि यह एक बदलते हुए स्पेसिफाइड फ्रेम पर आधारित है, इसे मूविंग एवरेज कहा जाता है.
SQL Server विंडो फंक्शनों में समय की रेंज सीधे नहीं देख सकता, इसलिए हमें मानना होगा कि प्रति दिन एक रो है और ROWS क्लॉज का उपयोग करना होगा.
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL Server में Time Series Analysis
अभ्यास निर्देश
- सही विंडो फंक्शन भरें ताकि 6 दिन पहले से लेकर आज (करंट रो) तक का मूविंग एवरेज निकले.
- विंडो फ्रेम भरें, जिसमें
ROWSक्लॉज, फ्रेम का प्रीसिडिंग हिस्सा, और फ्रेम का फॉलोइंग हिस्सा शामिल हो.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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;