시작하기무료로 시작하기

일 단위로 다운샘플링하기

데이터를 더 높은 그레인으로 롤업하는 일은 흔한 분석 작업이에요. 타임스탬프가 있는 데이터셋을 가지고 집계 결과를 보고 싶을 수 있죠. SQL Server에서는 원하는 그레인에 따라 사용할 수 있는 여러 기법이 있어요.

이 연습에서는 가상의 데이 스파를 살펴보겠습니다. 스파 매장은 2020년 6월 16일부터 20일까지 잠재 고객에게 쿠폰을 발송했고, 이 캠페인이 신규 방문을 유도했는지 확인하고 싶어 해요.

이번 연습에서는 가장 단순한 다운샘플링 기법 중 하나를 사용해 봅니다. 즉, DATETIME2 또는 DATETIME 데이터 형식을 시간 성분 없이 날짜만 가지는 DATE 형식으로 변환하는 방법이에요.

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

SQL Server에서의 시계열 분석

강의 보기

연습 안내

  • 고객 방문 시작 시간을 일 단위 그레인으로 다운샘플링하고 결과를 집계하세요.
  • SELECT 절에서 집계되지 않은 값은 모두 GROUP BY 절에 포함하세요(단, 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;
코드 편집 및 실행