Alle Aggregationen mit CUBE anzeigen
Der Operator CUBE liefert Kreuzaggregationen aller Kombinationen und kann eine sehr große Anzahl an Zeilen erzeugen. Dieser Operator eignet sich am besten für nicht-hierarchische Daten, bei denen dich sowohl unabhängige Aggregationen als auch die kombinierten Aggregationen interessieren.
In diesem Szenario möchten wir die Gesamtzahl der Sicherheitsvorfälle in der Tabelle IncidentRollup ermitteln, folgen aber keiner sauberen Hierarchie. Stattdessen konzentrieren wir uns darauf, mehrere nicht zusammenhängende Attribute zu aggregieren.
Diese Übung ist Teil des Kurses
Zeitreihenanalyse in SQL Server
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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;