Začněte nyníZačněte zdarma

Zobrazení všech agregací pomocí CUBE

Operátor CUBE vytváří křížovou agregaci všech kombinací a výsledek může obsahovat velké množství řádků. Tento operátor se nejlépe hodí pro nehierarchická data, u nichž tě zajímají jak samostatné, tak kombinované agregace.

V tomto scénáři chceme zjistit celkový počet bezpečnostních incidentů v tabulce IncidentRollup, ale nebudeme dodržovat žádnou pevnou hierarchii. Místo toho se zaměříme na agregaci několika nesouvisejících atributů.

Toto cvičení je součástí kurzu

Time Series Analysis in SQL Server

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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;
Upravit a spustit kód