CUBE (SQL)
詳細情報
- 作者
- Marius Aamodt Eriksen
- 公開
- 所有者
- The OpenBSD project
- 種類
- ウィンドウマネージャ
- ライセンス
- ISC
- 公式サイト
- man.openbsd.org/cwm
GROUPING SETSの中で、指定したディメンションのすべての組み合わせについて集計を計算するSQLのショートカット。GROUP BY CUBE (country, product)なら、(国+製品)ごと、国ごと、製品ごと、全体の合計が得られ、完全なクロス集計になる。
ロジック:CUBE (a, b)は(a,b)、(a)、(b)、()を生成し、n個のディメンションなら2^n通りのグルーピングになる。名前はOLAPの「データキューブ」に由来し、各ディメンションが軸となって、CUBEがすべての集計平面を具体化する。階層的なロールアップだけを行うROLLUP(n+1レベル)とは異なる。ディメンションが互いに独立で、あらゆる切り口を見たいとき、たとえば「地域別、製品別、およびそのすべての組み合わせの売上」にはCUBEを使う。注意点:2^nは急激に増えるため、ディメンションが多いと結果が膨大になる。ピボットテーブルやBIレポートの土台としてよく使われる。SQL標準。ROLLUP、GROUPING SETSとあわせて、別々のクエリを書かずに多次元集計を行うためのSQLの道具である。