CommencerCommencez gratuitement

Utiliser des fonctions d’agrégation statistiques

SQL Server propose plusieurs fonctions d’agrégation à des fins statistiques. La fonction AVG() calcule la moyenne d’un échantillon. STDEV() et STDEVP() fournissent l’écart type d’un échantillon et d’une population, respectivement. VAR() et VARP() fournissent la variance d’un échantillon et d’une population, respectivement. Ces fonctions s’ajoutent à celles vues dans l’exercice précédent, notamment SUM(), COUNT(), MIN() et MAX().

Dans cet exercice, nous allons à nouveau examiner les données d’agrégation des incidents et par type d’incident, cette fois pour le deuxième trimestre de l’année civile 2020. Nous souhaitons estimer l’ampleur de la dispersion des occurrences d’incidents — autrement dit, déterminer si le nombre d’incidents quotidiens est relativement constant ou s’il présente de plus fortes fluctuations.

Cet exercice fait partie du cours

<cours>Analyse de séries temporelles dans SQL Server</cours>
Voir le cours

Instructions de l’exercice

  • Complétez les fonctions d’agrégation manquantes. Pour l’écart type et la variance, utilisez les fonctions pour échantillon plutôt que celles pour population.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

-- 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;
Modifier et exécuter le code