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
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 BYcom quaisquer valores não agregados na cláusulaSELECT(mas sem aliases comoAS 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;