ディメンション表または ディメンション・エンティティーとは、スター、スノーフレーク、またはスターフレーク・スキーマ内の表またはエンティティーで、ファクトに関する詳細を保管します。
例えば、時間ディメンション表は、年、四半期、月、日などの、時間のさまざまな側面を保管します。
ディメンション表は、ファクト表内の数値に関する記述情報を保管します。
例えば、マーケティング分析アプリケーションのディメンション表には、期間、マーケティング地域、製品タイプなどが含まれる場合があります。
ディメンション表は、ビジネス・プロセスのさまざまな側面を記述します。
例えば、売上目標を決定しようとしている場合、売上目標の属性をディメンション表に保管することができます。
ディメンション表は、ビジネス・レポートが作成される際に、データベース内のデータのグループ化を行います。
例えば、国、製品、または小売業者別に売上目標をグループ化して、それらのグループをディメンション表に保管することができます。
各ディメンション表には、ビジネス・プロセスの記述に使用される多数の列と属性が含まれます。
ディメンション表のデータは、多くの場合非正規化データであるため、ディメンション表には大量の列があります。
ディメンション表のデータの行数は、ファクト表よりも少なくなります。
ディメンション表の列は、レポートの作成や照会結果の表示に使用されます。
例えば、レポートのテキスト説明は、ディメンション表の列ラベルから作成されます。
ディメンション表の作成時には、次の点を考慮します。
- グレーン
- 各ディメンション表には、最低レベルの詳細さの要素が 1 だけあり、この要素はディメンションのグレーンと呼ばれます。
- 非キー要素
- 各非キー要素は、1 つのディメンション表にのみ含まれていなければなりません。
- 時間ディメンションと日付ディメンション
- 通常、ディメンション・モデルには、複数の時間ディメンションと日付ディメンションがあります。
- ディメンションの数
- 通常、ディメンション・モデルに含まれるディメンション表の数は、10 から 15 までです。
それ以上の数のディメンションが必要な場合は、複数のディメンション表を 1 つの表にマージしてください。
- 1 対多の関係を作成する
- ディメンション表内の行は、ファクト表またはアウトリガーとの間に 1 対多の関係を確立します。
- 共有ディメンション
- 通常、複数のファクト表 (または複数のディメンション・モデル) によって共有されるディメンション表を、共有ディメンション と呼びます。
データウェアハウスまたはディメンション・モデル内のディメンションに対して共有ディメンションが既に存在する場合、共有ディメンションを使用する必要があります。
エンタープライズ・ウェアハウス全体を通して使用される可能性のある新規のディメンションを開発している場合、エンタープライズ・ウェアハウスのニーズを見越した設計を行う必要があります。