CommencezCommencez gratuitement

Rééchantillonner à un niveau hebdomadaire

La direction souhaite voir à quel point les gens ont utilisé le spa en 2020. Elle veut des résultats par semaine, en examinant le nombre total de minutes d'utilisation des installations, le nombre de participants et le client avec le plus grand ID client cette semaine-là, afin de vérifier si de nouveaux clients se présentent.

Nous pouvons utiliser des fonctions dans SQL Server pour réduire l'échantillonnage à un niveau fixe comme celui-ci. L'une de ces fonctions est DATEPART().

Cette activité fait partie du cours

Analyse de séries chronologiques dans SQL Server

Voir le cours

Instructions de l’exercice

  • Rééchantillonnez les visites quotidiennes du spa à un niveau hebdomadaire à l'aide de la fonction DATEPART().
  • Trouvez le client ayant le plus grand ID client pour une semaine donnée.
  • Complétez la clause GROUP BY avec toutes les valeurs non agrégées de la clause SELECT (mais sans alias comme AS Week).

Exercice interactif pratique

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

SELECT
	-- Downsample to a weekly grain
	___(___, dsv.CustomerVisitStart) AS Week,
	SUM(dsv.AmenityUseInMinutes) AS AmenityUseInMinutes,
	-- Find the customer with the largest customer ID for that week
	___(dsv.___) AS HighestCustomerID,
	COUNT(1) AS NumberOfAttendees
FROM dbo.DaySpaVisit dsv
WHERE
	dsv.CustomerVisitStart >= '2020-01-01'
	AND dsv.CustomerVisitStart < '2021-01-01'
GROUP BY
	-- When we use aggregation functions like SUM or COUNT,
    -- we need to GROUP BY the non-aggregated columns
	___(___, dsv.CustomerVisitStart)
ORDER BY
	Week;
Modifier et exécuter le code