Робота зі статистичними агрегатними функціями
SQL Server пропонує кілька агрегатних функцій для статистичних розрахунків. Функція AVG() обчислює середнє значення вибірки. STDEV() і STDEVP() дають стандартне відхилення для вибірки та для генеральної сукупності відповідно. VAR() і VARP() обчислюють дисперсію для вибірки та для генеральної сукупності відповідно. Це доповнює агрегатні функції, розглянуті у попередній вправі, зокрема SUM(), COUNT(), MIN() і MAX().
У цій вправі ми знову розглянемо зведені дані інцидентів і типи інцидентів, цього разу за другий квартал 2020 календарного року. Ми хочемо оцінити, наскільки розкинуті значення частоти інцидентів — тобто чи бачимо стабільну кількість інцидентів щодня, чи спостерігаємо значні коливання.
Ця вправа є частиною курсу
Аналіз часових рядів у SQL Server
Інструкції до вправи
- Заповніть пропущені агрегатні функції. Для стандартного відхилення та дисперсії використайте функції для вибірки, а не для генеральної сукупності.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
-- Fill in the missing function names
SELECT
it.IncidentType,
___(ir.NumberOfIncidents) AS MeanNumberOfIncidents,
___(CAST(ir.NumberOfIncidents AS DECIMAL(4,2))) AS MeanNumberOfIncidents,
___(ir.NumberOfIncidents) AS NumberOfIncidentsStandardDeviation,
___(ir.NumberOfIncidents) AS NumberOfIncidentsVariance,
___(1) AS NumberOfRows
FROM dbo.IncidentRollup ir
INNER JOIN dbo.IncidentType it
ON ir.IncidentTypeID = it.IncidentTypeID
INNER JOIN dbo.Calendar c
ON ir.IncidentDate = c.Date
WHERE
c.CalendarQuarter = 2
AND c.CalendarYear = 2020
GROUP BY
it.IncidentType;