EmpezarEmpieza gratis

Genera un resumen con ROLLUP

El operador ROLLUP funciona mejor cuando tus atributos que no son medidas tienen una estructura jerárquica. De lo contrario, puedes acabar con niveles de agregación extraños que no resultan intuitivos.

En este escenario, queremos agregar el número total de incidentes de seguridad en la tabla IncidentRollup. Dirección quiere ver los datos agregados por la combinación de año calendario, trimestre calendario y mes calendario. Además, también quiere ver líneas de agregación separadas para año calendario más trimestre calendario, así como líneas de agregación separadas para cada año calendario. Por último, quiere una línea adicional con el total general. Podemos hacer todo esto en una sola operación.

Este ejercicio forma parte del curso

Análisis de series temporales en SQL Server

Ver curso

Instrucciones del ejercicio

  • Completa la definición de NumberOfIncidents sumando el número de incidentes en cada intervalo.
  • Rellena el segmento GROUP BY, incluyendo el operador WITH ROLLUP.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

SELECT
	c.CalendarYear,
	c.CalendarQuarterName,
	c.CalendarMonth,
    -- Include the sum of incidents by day over each range
	___(ir.___) AS NumberOfIncidents
FROM dbo.IncidentRollup ir
	INNER JOIN dbo.Calendar c
		ON ir.IncidentDate = c.Date
WHERE
	ir.IncidentTypeID = 2
GROUP BY
	-- GROUP BY needs to include all non-aggregated columns
	c.___,
	c.___,
	c.___
-- Fill in your grouping operator
WITH ___
ORDER BY
	c.CalendarYear,
	c.CalendarQuarterName,
	c.CalendarMonth;
Editar y ejecutar código