EmpezarEmpieza gratis

Muestreo descendente a una granularidad semanal

La dirección quiere ver cómo se ha utilizado el spa en 2020. Quieren revisar los resultados por semana, analizando el total de minutos de uso de las instalaciones, el número de asistentes y el cliente con el ID de cliente más alto esa semana para comprobar si están llegando clientes nuevos.

Podemos usar funciones de SQL Server para reducir la muestra a una granularidad fija como esta. Una de esas funciones es DATEPART().

Este ejercicio forma parte del curso

Análisis de series temporales en SQL Server

Ver curso

Instrucciones del ejercicio

  • Reduce la muestra de los datos de visitas al spa (diarios) a una granularidad semanal usando la función DATEPART().
  • Encuentra el cliente con el ID de cliente más alto para una semana determinada.
  • Completa la cláusula GROUP BY con cualquier valor no agregado que aparezca en la cláusula SELECT (pero sin alias como AS Week).

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

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 y ejecutar código