Работа со статистическими агрегатными функциями
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;