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

Převzorkování na denní granularitu

Agregace dat na vyšší granularitu je běžný analytický úkol. Často máme k dispozici data s konkrétními časovými razítky a potřebujeme zobrazit souhrnné výsledky. V SQL Serveru existuje několik technik – záleží na tom, jakou granularitu potřebuješ.

V těchto cvičeních se podíváme na fiktivní den spa. Vedení spa rozesílalo kupony potenciálním novým zákazníkům v období od 16. do 20. června 2020 a chce zjistit, zda tato kampaň přilákala nové návštěvy.

V tomto cvičení se zaměříme na jednu z nejjednodušších technik převzorkování: převod datového typu DATETIME2 nebo DATETIME na datový typ obsahující pouze datum bez časové složky – typ DATE.

Toto cvičení je součástí kurzu

Time Series Analysis in SQL Server

Zobrazit kurz

Pokyny k cvičení

  • Převzorkuj časy začátku návštěv zákazníků na denní granularitu a výsledky agreguj.
  • Do klauzule GROUP BY doplň všechny neagregované hodnoty z klauzule SELECT (bez aliasů, jako je AS Day).

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 daily grain
    -- Cast CustomerVisitStart as a date
	___(dsv.CustomerVisitStart AS ___) AS Day,
	SUM(dsv.AmenityUseInMinutes) AS AmenityUseInMinutes,
	COUNT(1) AS NumberOfAttendees
FROM dbo.DaySpaVisit dsv
WHERE
	dsv.CustomerVisitStart >= '2020-06-11'
	AND dsv.CustomerVisitStart < '2020-06-23'
GROUP BY
	-- When we use aggregation functions like SUM or COUNT,
    -- we need to GROUP BY the non-aggregated columns
	___(dsv.CustomerVisitStart AS ___)
ORDER BY
	Day;
Upravit a spustit kód