ComeçarComece de graça

Reduza a amostragem para granularidade semanal

A diretoria quer ver como as pessoas utilizaram o spa em 2020. Eles querem ver os resultados por semana, analisando o total de minutos de uso das comodidades, o número de participantes e o cliente com o maior ID de cliente naquela semana para verificar se novos clientes estão chegando.

Podemos usar funções no SQL Server para reduzir a amostragem para uma granularidade fixa como essa. Uma dessas funções é DATEPART().

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 dados de visitas diárias ao spa para uma granularidade semanal usando a função DATEPART().
  • Encontre o cliente com o maior ID de cliente em uma determinada semana.
  • Preencha a cláusula GROUP BY com quaisquer valores não agregados na cláusula SELECT (mas sem aliases como AS Week).

Exercício interativo prático

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

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