Ver todas as agregações com CUBE
O operador CUBE fornece uma agregação cruzada de todas as combinações e pode resultar em um número enorme de linhas. Esse operador funciona melhor com dados não hierárquicos, quando você tem interesse tanto em agregações independentes quanto nas agregações combinadas.
Neste cenário, queremos encontrar o número total de incidentes de segurança na tabela IncidentRollup, mas sem seguir uma hierarquia adequada. Em vez disso, vamos focar em agregar vários atributos não relacionados.
Este exercício faz parte do curso
Análise de Séries Temporais no SQL Server
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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;