Wszystkie agregacje z CUBE
Operator CUBE generuje agregacje dla wszystkich możliwych kombinacji kolumn, co może skutkować dużą liczbą wierszy. Najlepiej sprawdza się przy danych nieposiadających hierarchii, gdy interesują cię zarówno agregacje dla poszczególnych atrybutów, jak i ich kombinacje.
W tym ćwiczeniu chcemy znaleźć łączną liczbę incydentów bezpieczeństwa w tabeli IncidentRollup, ale bez zachowania ścisłej hierarchii. Skupimy się na agregowaniu kilku niezależnych atrybutów.
To ćwiczenie jest częścią kursu
Analiza szeregów czasowych w SQL Server
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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;