開始使用免費開始

降採樣到每日粒度

將資料彙總到較高的粒度是常見的分析任務。你可能擁有帶有精確時間戳記的資料,並需要觀察彙總後的結果。在 SQL Server 中,有多種技巧可用,取決於你想要的粒度。

在這些練習中,我們會觀察一間虛構的日間 Spa。Spa 的管理團隊在 2020 年 6 月 16 日到 20 日期間寄出優惠券給潛在新客戶,想了解這次行銷活動是否帶動了新來客。

在本練習中,我們會採用最簡單的降採樣技巧之一:將 DATETIME2DATETIME 型別轉換為只有日期、沒有時間成分的型別:DATE

本練習屬於課程

SQL Server 的時間序列分析

檢視課程

練習說明

  • 將顧客來訪的起始時間降採樣到每日粒度並彙總結果。
  • 在 GROUP BY 子句中填入 SELECT 子句裡所有未彙總的欄位(但不要包含像 AS Day 這樣的別名)。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

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;
編輯並執行程式碼