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
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 BYavec toutes les valeurs non agrégées de la clauseSELECT(mais sans alias commeAS 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;