Převzorkování na týdenní granularitu
Vedení by rádo vidělo, jak dobře lidé využívali lázně v roce 2020. Zajímají je výsledky po týdnech: celkový počet minut využívání vybavení, počet návštěvníků a zákazník s nejvyšším ID v daném týdnu – aby bylo vidět, jestli přicházejí noví zákazníci.
K převzorkování na pevnou granularitu nám v SQL Serveru poslouží speciální funkce. Jednou z nich je DATEPART().
Toto cvičení je součástí kurzu
Time Series Analysis in SQL Server
Pokyny k cvičení
- Převzorkuj data o návštěvách denního lázeňského centra na týdenní granularitu pomocí funkce
DATEPART(). - Najdi zákazníka s nejvyšším ID pro daný týden.
- Doplň klauzuli
GROUP BYo všechny neagregované hodnoty z klauzuleSELECT(bez aliasů jakoAS Week).
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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;