web-dev-qa-db-ja.com

日付ディメンションOLAPキューブデザイン

このような入力データを含む売上報告システムがあります

date,editionID,outletId,Measure1,Measure2
2013-01-01,2,532,11,24

等...

私は(pentaho BIスイートの)データキューブの設計に慣れていないため、スキーマを構築していたときに、dateを日付ディメンションとして定義するまで、すべてが正常に機能していました。 pentahoスキーマ設計者は、これをディメンションとして使用するために、日付ディメンションテーブルへの外部キー参照である必要があります。

私の質問は、なぜ別のテーブルが必要なのですか?どのように構成しますか?ファクトテーブルでそれをどのように参照しますか?

ありがとう!

2
Killerpixler

日付のディメンションはデータウェアハウスではかなり標準的であり、ほとんどの事実は日付に関連付けられているため、 Kimballが強く推奨 です。通常、キーは整数です。意味のない代理キーにすることも、整数がyyyymmddの形式の「スマート」キーにすることもできます。たとえば、2014年8月2日のキーは20140802になります。

日付ディメンションは、一連の連続した日付を複数の形式で提供し、各クエリではなく1回で日付の計算を行うことができます。期間の比較が非常に簡単になります。休日、就業日のインジケーター、会計カレンダー(標準の暦年とは異なる場合)など、分析に関連する可能性のある他のフィールドを追加できます。

日付ディメンションを作成して入力するためにオンラインで利用できるスクリプトはたくさんあります。多くのツールで日付ディメンションが作成されます。基になるデータソースに何を使用しているかわからないので、日付ディメンションの例をいくつか示します。うまくいけば、これらをニーズに適した形式に変換できます。

7
mmarie