私のデータ ウェアハウス テーブルには 1 つのdate
SQL 列しか含まれていませんが、通常の年/四半期/月/日のレベルを使用してドリルダウンできるようにしたいと考えています。
Pentaho Kettle を使用して新しい列を手動で作成し、Pentaho Schema Workbench でレベルを 1 つずつ作成できます。
しかし、これは非常に一般的なタスクです (売上関連のキューブを作成するすべての人が実行する必要があると思います)。それを行うための推奨される方法は何ですか?
これを行う組み込みの方法がわかりません。
これは私が数年前に学んだ素晴らしいトリックです: 解像度の好みに応じて、1 日/1 時間に 1 行の Time という名前のテーブルを作成します。
日付の場合、各行には以下が含まれます。
Date (date) - 2010-09-28
Day (int) - 28
Month (int) - 9
Year (int) - 2010
また、好きなだけフィールドを追加できます: 四半期、曜日、年始からの日、年の週など。
このテーブルには、日付が事前に入力されています。クエリで集計のようなキューブが必要な場合は、Time テーブルをデータ ウェアハウス テーブルと結合して、任意の集計を作成できます。
このアプローチの優れた利点は、クエリで外部結合を使用することにより、値を含む日付を集計するだけでなく、空の日付をレポートに追加できることです。これは、非常に疎なディメンションにドリルダウンする場合に重要な機能です。