Visualizza tutte le aggregazioni con CUBE
L'operatore CUBE fornisce una cross-aggregation di tutte le combinazioni e può generare un numero enorme di righe. Questo operatore funziona al meglio con dati non gerarchici, quando ti interessano sia le aggregazioni indipendenti sia quelle combinate.
In questo scenario, vogliamo trovare il numero totale di incidenti di sicurezza nella tabella IncidentRollup, ma senza seguire una gerarchia vera e propria. Invece, ci concentreremo sull'aggregazione di diversi attributi non correlati.
Questo esercizio fa parte del corso
Analisi delle serie temporali in SQL Server
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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;