OLAPキューブ

ウィキペディアから無料の百科事典

OLAPキューブの例

OLAPキューブは、データの多次元配列である[1]Online Analytical Processing(OLAP)[2]は、洞察のためにデータを分析するコンピューターベースの手法である。ここでキューブという用語は、多次元データセットを指し、次元数が3より大きい場合、ハイパーキューブとも呼ばれる。

用語[編集]

キューブは、2次元または3次元のスプレッドシートの多次元の一般化と考えることができる。例えば企業が製品ごと、期間ごと、および都市ごとに財務データを集計して、実際の費用と予算の費用を比較したい場合すると、製品、時間、都市、シナリオ(実際と予算)はデータのディメンションである[3]

データが任意の数の次元を持つことができる場合、キューブは多次元データセットの省略形である。ハイパーキューブという用語は、特に3次元を超えるデータで使用されることがあるが、厳密な数学的意味では、すべての辺が必ずしも等しいわけではないため、キューブは「立方体」ではない。しかし、この用語は広く使用されている。

スライスは、すべてのセルで一定に保たれる次元の用語で、スプレッドシートまたはピボットテーブルの(n-1)次元の物理空間に多次元情報を表示できる。

キューブの各セルには、売上、利益、費用、予算、予測など、ビジネスの「メジャー」を表す数値が保持されている。

OLAPデータは通常、リレーショナルデータウェアハウススタースキーマ、スノーフレークスキーマ、または専用のデータ管理システムに格納される。メジャーはファクトテーブル(実際の集計や分析の対象となる大量の数値データを含む表)のレコードから派生し、ディメンションはディメンションテーブルから派生する。

階層[編集]

ディメンションの要素は、階層[4]、親子関係のセットとして編成される。通常、親メンバーはその子を要約する[5]

例えば、2005年5月の親は2005年第2四半期で、2005年は2005年の子となる。同様に、都市は地域の子である。製品は製品グループにまとめられ、個々の費用項目は支出のタイプにまとめられる。

操作[編集]

データを階層ディメンションを持つキューブとして考えると、概念的に単純な操作になり、分析が容易になる。データコンテンツを使い慣れた視覚化と揃えることで、アナリストの学習と生産性が向上する[5]。 回転とドリルダウン/アップによるスライスの指定を通じて、ページ表示を対話的に呼び出すことによってユーザーが開始するナビゲーションプロセスは、「スライスとダイス」と呼ばれることがある。一般的な操作には、スライスとダイス、ドリルダウン、ロールアップ、ピボットがある。

OLAPスライス

スライスは、ディメンションの1つに単一の値を選択して、キューブの長方形のサブセットを選択し、ディメンションが1つ少ない新しいキューブを作成するものである[5]。 図はスライス操作を示している。2005年と2006年の会社のすべての販売地域とすべての製品カテゴリの売上高は、データキューブから「スライス」されている。

OLAPダイス

ダイス: ダイス操作は、アナリストが複数の次元の特定の値を選択できるようにすることでサブキューブを生成する[6]。 図はダイス操作を示している。新しいキューブは限られた数の製品カテゴリの売上高を示し、時間と地域のディメンションは以前と同じ範囲をカバーしている。

OLAP-functionalities
OLAP ドリルアップ と ドリルダウン

ドリルダウン/アップにより、ユーザーは、最も要約された(上)から最も詳細な(下)までの範囲のデータレベル間を移動できる[5]。 図はドリルダウン操作を示している。アナリストは、サマリーカテゴリ「Outdoor-Schutzausrüstung」から移動して、個々の製品の売上高を表示する。

ロールアップ: ロールアップには、ディメンションに沿ったデータの要約が含まれる。要約ルールは、階層に沿って合計を計算したり、「利益=売上-費用」などの一連の数式を適用したりするなど、集約関数になる場合がある[5]。 一般的な集計関数は、ロールアップ時に計算するのにコストがかかる可能性がある。キューブのセルから決定できない場合は、ベースデータから計算する必要がある。オンラインで計算する(遅い)か、ロールアウトの可能性(大スペース)を事前計算する必要がある。 セルから決定できる集約関数は、分解可能な集約関数と呼ばれ、効率的な計算を可能にする[7]。 例えばCOUNT、MAX、MINSUMはOLAPで簡単にサポートできる。これらはOLAPキューブの各セルに対して計算され、その後ロールアップされるためである。全体の合計(またはカウントなど)は小計の合計だが、MEDIANをサポートすることは困難である。MEDIANは、ビューごとに個別に計算する必要があるためである。セットの中央値は、サブセットの中央値ではない。

OLAP ピボット

ピボットを使用すると、アナリストは空間で立方体を回転させてさまざまな面を見ることができる。例えば特定の四半期のデータを表示しながら、都市を垂直に配置し、製品を水平に配置できる。 ピボットでは、製品を期間に置き換えて、単一の製品の時間の経過に伴うデータを表示できる[5][8]

図はピボット操作を示している。キューブ全体が回転し、データに別の視点を与える。

数学的定義[編集]

データベース理論では、OLAPキューブは[9]RDBMSの射影を抽象化したものである。次数Nを前提として、XYZをキーとし、Wを残差の属性とする射影を考えた場合、これを関数として述べると、

f : (X,Y,Z) → W,

属性XY、およびZはキューブの軸に相当し、W値はキューブの各セルにデータを取り込むデータ要素に相当する。

2次元出力デバイスが3次元を簡単に述べることができない限り、データキューブの「スライス」の射影を使用することがより現実的である(SQLのものと概念的には似ているが同じ意味ではなく、古典的なベクトル分析の次元削減の意味で射影と呼ぶ)、

g : (X,Y) → W

これは主キーが隠される可能性があるものの、意味的な重要性はあり、おそらくユーザの関心がある特定のZの値の3項関数表現のスライスと考えられる。

OLAP表示の背後にある動機[9]を辿ると、1980年代のDBMSのクロスタブレポートパラダイムと、1904年の初期の分割表に行き当たる。結果は、Xの値が行$1に入力されるスプレッドシートスタイルの表示; Yの値は$A列に入力; g : ( X, Y ) → W の値はXラベルの付いた列とYラベルの付いた行の交点、「南東」、つまり$B$2の個々のセルに$B$2自体を含めて入力する。

関連項目[編集]

脚注[編集]

  1. ^ Gray, Jim; Bosworth, Adam; Layman, Andrew; Pirahesh, Hamid (1996). "Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals". Proceedings of the International Conference on Data Engineering (ICDE). pp. 152–159. arXiv:cs/0701155. doi:10.1109/ICDE.1996.492099
  2. ^ Overview of Online Analytical Processing (OLAP)”. support.office.com. 2018年9月8日閲覧。
  3. ^ Cybertec releases OLAP cubes for PostgreSQL”. PostgreSQL (2006年10月2日). 2013年7月6日時点のオリジナルよりアーカイブ。2008年3月5日閲覧。
  4. ^ Oracle9i Data Warehousing Guide hierarchy”. Lorentz Center. 2008年3月5日閲覧。
  5. ^ a b c d e f OLAP and OLAP Server Definitions”. The OLAP Council (1995年). 2008年3月18日閲覧。
  6. ^ Glossary of Data Mining Terms”. University of Alberta (1999年). 2008年3月17日閲覧。
  7. ^ Zhang 2017, p. 1.
  8. ^ Computer Encyclopedia: multidimensional views”. Answers.com. 2008年3月5日閲覧。
  9. ^ a b Gray, Jim (1995年11月18日). “Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals”. Proc. 12th International Conference on Data Engineering. IEEE. pp. 152–159. 2008年11月9日閲覧。

外部リンク[編集]