Ver todas las agregaciones con CUBE
El operador CUBE ofrece una agregación cruzada de todas las combinaciones y puede generar un número enorme de filas. Este operador funciona mejor con datos no jerárquicos cuando te interesan agregaciones independientes además de las agregaciones combinadas.
En este escenario queremos encontrar el número total de incidentes de seguridad en la tabla IncidentRollup, pero sin seguir una jerarquía propiamente dicha. En su lugar, nos centraremos en agregar varios atributos no relacionados.
Este ejercicio forma parte del curso
Análisis de series temporales en SQL Server
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
SELECT
-- Use the ORDER BY clause as a guide for these columns
-- Don't forget that comma after the third column if you
-- copy from the ORDER BY clause!
ir.___,
c.___,
c.___,
SUM(ir.NumberOfIncidents) AS NumberOfIncidents
FROM dbo.IncidentRollup ir
INNER JOIN dbo.Calendar c
ON ir.IncidentDate = c.Date
WHERE
ir.IncidentTypeID IN (3, 4)
GROUP BY
-- GROUP BY should include all non-aggregated columns
ir.___,
c.___,
c.___
-- Fill in your grouping operator
WITH ___
ORDER BY
ir.IncidentTypeID,
c.CalendarQuarterName,
c.WeekOfMonth;