ComeçarComece de graça

Reduza a amostragem para granularidade diária

Agrupar dados em uma granularidade mais alta é uma tarefa analítica comum. Podemos ter um conjunto de dados com carimbos de data e hora específicos e a necessidade de observar resultados agregados. No SQL Server, há várias técnicas disponíveis dependendo da granularidade desejada.

Nestes exercícios, vamos analisar um spa fictício. A gerência do spa enviou cupons para potenciais novos clientes no período de 16 a 20 de junho de 2020 e gostaria de ver se essa campanha estimulou novas visitas.

Neste exercício, veremos uma das técnicas mais simples de downsampling: converter um tipo de dado DATETIME2 ou DATETIME para um tipo de dado contendo apenas a data, sem o componente de hora: o tipo DATE.

Este exercício faz parte do curso

Análise de Séries Temporais no SQL Server

Ver curso

Instruções do exercício

  • Reduza a amostragem dos horários de início das visitas dos clientes para a granularidade diária e agregue os resultados.
  • Preencha a cláusula GROUP BY com todos os valores não agregados na cláusula SELECT (mas sem aliases como AS Day).

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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;
Editar e executar o código