Lavorare con le funzioni di aggregazione statistiche
SQL Server offre diverse funzioni di aggregazione a fini statistici. La funzione AVG() calcola la media di un campione. STDEV() e STDEVP() restituiscono rispettivamente la deviazione standard di un campione e di una popolazione. VAR() e VARP() restituiscono rispettivamente la varianza di un campione e di una popolazione. Queste si aggiungono alle funzioni di aggregazione che abbiamo visto nell’esercizio precedente, incluse SUM(), COUNT(), MIN() e MAX().
In questo esercizio torneremo a esaminare i dati di riepilogo degli incidenti e per tipologia di incidente, questa volta per il secondo trimestre del 2020 (anno solare). Vogliamo farci un’idea di quanto siano dispersi gli eventi degli incidenti, cioè se osserviamo un numero costante di incidenti su base giornaliera oppure variazioni più ampie.
Questo esercizio fa parte del corso
Analisi delle serie temporali in SQL Server
Istruzioni dell'esercizio
- Completa le funzioni di aggregazione mancanti. Per deviazione standard e varianza, usa le funzioni per il campione e non quelle per la popolazione.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
-- 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;