Začněte nyníZačněte zdarma

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

Zobrazit kurz

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 BY o všechny neagregované hodnoty z klauzule SELECT (bez aliasů jako AS 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;
Upravit a spustit kód