Werken met statistische aggregatiefuncties
SQL Server biedt verschillende aggregatiefuncties voor statistische doeleinden. De functie AVG() berekent het gemiddelde van een steekproef. STDEV() en STDEVP() geven respectievelijk de standaarddeviatie van een steekproef en van een populatie. VAR() en VARP() geven respectievelijk de variantie van een steekproef en van een populatie. Dit komt bovenop de aggregatiefuncties die je in de vorige oefening hebt gezien, waaronder SUM(), COUNT(), MIN() en MAX().
In deze oefening bekijken we opnieuw de samenvatting van incidenten en incidenttypen, dit keer voor kwartaal 2 van kalenderjaar 2020. We willen een idee krijgen van hoeveel spreiding er is in het voorkomen van incidenten — met andere woorden: zien we dagelijks een consistent aantal incidenten, of juist grotere schommelingen?
Deze oefening maakt deel uit van de cursus
Tijdreeksanalyse in SQL Server
Oefeninstructies
- Vul de ontbrekende aggregatiefuncties in. Gebruik voor standaarddeviatie en variantie de functies voor steekproeven en niet die voor populaties.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
-- 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;