開始使用免費開始

降採樣到每週層級

管理階層想了解 2020 年大家對 spa 的使用狀況。他們希望按週檢視結果,包括設施使用的總分鐘數、參與人數,以及當週擁有最大 Customer ID 的顧客,以判斷是否有新客戶加入。

我們可以使用 SQL Server 的函式將資料降採樣到固定的層級。其中一個函式是 DATEPART()

本練習屬於課程

SQL Server 的時間序列分析

檢視課程

練習說明

  • 使用 DATEPART() 函式,將日間 spa 造訪資料降採樣為每週層級。
  • 找出每週 Customer ID 最大的顧客。
  • GROUP BY 子句中,加入 SELECT 子句內所有未彙總的欄位(但不要包含像 AS Week 的別名)。

動手互動練習

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

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