Auf wöchentlichen Takt herunterstichproben
Das Management möchte sehen, wie gut das Spa im Jahr 2020 genutzt wurde. Sie möchten die Ergebnisse nach Woche sehen: die gesamte Anzahl der Minuten der Nutzung der Annehmlichkeiten, die Zahl der Teilnehmenden und die Kundin bzw. der Kunde mit der größten Customer ID in dieser Woche, um zu prüfen, ob neue Kundinnen und Kunden hinzukommen.
Wir können Funktionen in SQL Server nutzen, um auf einen festen Takt wie diesen herunterzustichproben. Eine solche Funktion ist DATEPART().
Diese Übung ist Teil des Kurses
Zeitreihenanalyse in SQL Server
Anleitung zur Übung
- Stichprobe die Day-Spa-Besuche mit der Funktion
DATEPART()auf einen wöchentlichen Takt herunter. - Finde die Kundin bzw. den Kunden mit der größten Customer ID für eine gegebene Woche.
- Fülle die
GROUP BY-Klausel mit allen nicht aggregierten Werten in derSELECT-Klausel (aber ohne Aliasse wieAS Week).
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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;