Inizia subitoInizia gratis

Effettua il downsampling a granularità settimanale

La direzione vuole capire quanto sia stato utilizzato la spa nel 2020. Vorrebbero vedere i risultati per settimana, analizzando il numero totale di minuti di utilizzo dei servizi, il numero di partecipanti e il cliente con l’ID cliente più alto in quella settimana per capire se stanno arrivando nuovi clienti.

Possiamo usare le funzioni in SQL Server per effettuare il downsampling a una granularità fissa come questa. Una di queste funzioni è DATEPART().

Questo esercizio fa parte del corso

Analisi delle serie temporali in SQL Server

Visualizza corso

Istruzioni dell'esercizio

  • Esegui il downsampling dei dati delle visite alla day spa a una granularità settimanale usando la funzione DATEPART().
  • Trova il cliente con l’ID cliente più alto per una data settimana.
  • Compila la clausola GROUP BY con tutti i valori non aggregati presenti nella clausola SELECT (ma senza alias come AS Week).

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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;
Modifica ed esegui il codice