2010年6月11日金曜日

Cusotmer dimensionのDateデータをどう扱うか

Customer dimensionを設計する際、データに最終購入日や生年月日などのDateデータが
含まれることがよくあります。そのままテキストデータとして日付を入れてもいいのですが、要件として
Date dimensionに含まれるmonthやYearなどのグルーピングを利用したい場合があります。
そのばあいはどのようにDimensionを設計すればいいのでしょうか。

一般的にStar schemaを作成する際は、snowflakeはなるべく使用しないほうがいいといわれますが
この場合はOutriggerというsnowfalkeテクニックを使用します。
Outriggerとはこの場合、Customer dimensionのDate項目にDate dimensionのサロゲートキーを
持たせ、リンクを張ること言います。そうすれば、Date dimensionのグルーピング機能を利用できるようになります。
ただ、結合が増えてしますので、要件を考慮して、過度な使用は避けたほうがいいようです。

詳細を知りたい方、キンボール本「The Data Warehouse Toolkit: The Complete Guide to Dimensional Model」
の「6.2.2. Other Common Customer Attributes」に記載されていますのでそちらを参照してください。


0 件のコメント:

コメントを投稿