시작하기무료로 시작하기

주 단위로 다운샘플링하기

경영진은 2020년에 사람들이 스파를 얼마나 잘 이용했는지 보고 싶어 합니다. 주 단위로 결과를 확인하며, 편의시설 사용 시간(분) 합계, 참석자 수, 그리고 그 주에 가장 큰 Customer ID를 가진 고객을 확인해 신규 고객 유입이 있는지 보려 합니다.

SQL Server의 함수를 사용하면 이렇게 고정된 세분성으로 다운샘플링할 수 있습니다. 그중 하나가 DATEPART() 함수입니다.

이 연습은 강의의 일부입니다

SQL Server에서의 시계열 분석

강의 보기

연습 안내

  • DATEPART() 함수를 사용해 데이 스파 방문 데이터를 주 단위로 다운샘플링하세요.
  • 특정 주에 대해 가장 큰 Customer ID를 가진 고객을 찾으세요.
  • SELECT 절에서 집계되지 않은 값이 있다면 모두 GROUP BY 절에 포함하세요(단, 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;
코드 편집 및 실행