CUBE ですべての集計を確認する
CUBE 演算子は、あらゆる組み合わせに対するクロス集計を提供し、結果の行数が非常に多くなることがあります。 この演算子は、独立した集計とそれらを組み合わせた集計の両方に関心がある、非階層型データに最も適しています。
このシナリオでは、IncidentRollup テーブルにあるセキュリティインシデントの総数を求めますが、厳密な階層は追いません。 代わりに、関連性の低い複数の属性を集計することに焦点を当てます。
この演習はコースの一部です
SQL Serverで学ぶ時系列分析
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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;