ブリッジ表の操作
このトピックでは、ブリッジ表を使用するタイミングおよびモデル化する方法について説明します。
ブリッジ表について
ブリッジ表(または中間表)を使用して、表間の多対多関係を解決します。
たとえば、従業員に関する情報を含む「従業員」表と、従業員が実行するジョブに関する情報を含む「業務」表があるとします。組織の従業員が複数の業務を担当している場合や、同じ業務を複数の従業員が担当している場合があります。これにより、「従業員」表と「業務」表の関係が多対多になります。
このシナリオでは、「割当て」という名前のブリッジ表を作成して、多対多の関係を解決します。「割当て」表の各行は一意で、1つの業務を担当する1人の従業員を表します。従業員が複数の業務を担当している場合、「割当て」表にはその従業員について複数の行が設定されます。1つの業務を複数の従業員が担当している場合、「割当て」表にはその業務について複数の行が設定されます。「割当て」表の主キーはコンポジット・キーで、従業員IDが含まれる列と業務IDが含まれる列で構成されます。
「割当て」表は、「業務」表と「従業員」表の間のブリッジ表として機能するため、「割当て」表を使用すると、従業員と業務の多対多の関係を次のように解決できます。
-
従業員と割当ての1対多の関係
-
割当てと業務の1対多の関係
問合せ処理を効率的にするために、ブリッジ表に追加列として重みファクタを含めて、このファクタがETL時に計算されるようにする必要があります。
ブリッジ表とそれに関連するディメンション表に対する物理レイヤーでの結合の作成
物理レイヤーでブリッジ表をモデリングするには、対象のブリッジ表とその関連ディメンション表との間に結合を作成します。
- ホーム・ページで、「ナビゲータ」、「セマンティック・モデル」の順にクリックします。
- 「セマンティック・モデル」ページで、セマンティック・モデルをクリックして開きます。
- 「物理レイヤー」
をクリックします。
- 「物理レイヤー」ペインで、ファクト表、ブリッジ表および関連するディメンション表を参照し、[Ctrl]を押しながらクリックします。
- 右クリックして「物理ダイアグラムの表示」にマウス・ポインタを重ね、「選択された表のみ」をクリックします。
- ブリッジ表からクリックしてドラッグし、ディメンション表への結合線を描画します。
- ブリッジ表から他の関連付けられたディメンション表への結合を追加します。
- 関連するディメンション表の1つがファクト表に結合されていることを確認します。
- 「保存」をクリックします。
関連するディメンション表の単一ディメンションでのモデリング
論理レイヤーでは、ブリッジ表に関連付けられている2つのディメンション表を単一のディメンションでモデリングするか、または2つの個別のディメンションでモデリングするかを選択できます。
このタスクを実行する前に、必要な物理結合を作成する必要があります。「ブリッジ表とそれに関連するディメンション表に対する物理レイヤーでの結合の作成」を参照してください。
関連するディメンション表を単一ディメンションでモデリングするには、ブリッジ表と他方のディメンション表にマップする2つ目の論理表ソースを作成し、他方のディメンション表から列を追加します。ファクト表に結合されていないブリッジ表および関連するディメンション表を論理レイヤーに追加しないでください。「ブリッジ表について」で説明されている例では、「業務」表(ファクト表に結合されたディメンション表)を追加しますが、「割当て」表(ブリッジ表)および「従業員」表(ファクト表に結合されていないディメンション表)は追加しません。
2つの個別の論理表ソースを設定することによって問合せがより効率的になります。これは、この設定によって、単一のディメンション表に対する問合せにブリッジ表が関係しなくなるためです。
ブリッジ表の名前をソースの名前として使用することをお薦めします。
ブリッジ表ソースを伴う論理表も含め、論理表に基づいてディメンションを作成できます。
- ホーム・ページで、「ナビゲータ」、「セマンティック・モデル」の順にクリックします。
- 「セマンティック・モデル」ページで、セマンティック・モデルをクリックして開きます。
- 「論理レイヤー」をクリックします
- 「論理レイヤー」ペインで、「作成」
、論理表の作成の順にクリックして、必要な論理ディメンション表を作成します。このステップを繰り返して、論理ファクト表を作成します。
- 論理レイヤーで、ファクト表に結合されているディメンション表をダブルクリックし、表で「ソース」タブをクリックします。
- 「物理表の追加」
、「論理表ソースの作成」の順にクリックし、表ソースの「名前」フィールドに、物理レイヤーで作成したブリッジ表の名前を入力します。
- 「物理表の追加」、「論理表ソースの作成」の順にクリックし、表ソースの「名前」フィールドに、ファクト表に結合されていない関連ディメンション表の名前を入力します。
- 「列」タブをクリックして、表の列リストにナビゲートします。
- 「列の追加」
、「新規列の作成」の順にクリックします。
- 新規列の「名前」フィールドに、ファクト表に結合されていないディメンション表の列の名前を入力します。このステップを繰り返して、必要な列を追加します。
- 「保存」をクリックします。
関連するディメンション表の個別ディメンションでのモデリング
1つのブリッジ表に関連付けられている2つのディメンション表を単一のディメンションでモデリングするかわりに、それらのディメンション表を個別のディメンションでモデリングすることができます。
このタスクを実行する前に、必要な物理結合を作成する必要があります。「ブリッジ表とそれに関連するディメンション表に対する物理レイヤーでの結合の作成」を参照してください。
関連するディメンション表を個別ディメンションでモデリングするには、ファクト表と、ファクト表に物理的には結合されていないディメンション表との間に論理結合を作成して、他の表マッピングを追加するようにディメンション表の論理表ソースを変更します。ブリッジ表は論理レイヤーに追加しませんが、ブリッジ表に関連付けられているディメンション表はすべて追加します。「ブリッジ表について」で説明されている例では、「業務」表(ファクト表に結合されたディメンション表)および「従業員」表(ファクト表に結合されていないディメンション表)を追加しますが、「割当て」表(ブリッジ表)は追加しません。
ブリッジ表に関連付けられている両方の論理表を含め、論理表に基づいてディメンションを作成できます。
- ホーム・ページで、「ナビゲータ」、「セマンティック・モデル」の順にクリックします。
- 「セマンティック・モデル」ページで、セマンティック・モデルをクリックして開きます。
- 「論理レイヤー」をクリックします
- 「論理レイヤー」ペインで、「作成」
、論理表の作成の順にクリックして、論理ディメンション表を作成します。このステップを繰り返して、必要な論理ディメンション表を作成し、論理ファクト表を作成します。
- 「論理レイヤー」ペインで、ファクト表および関連するディメンション表を[Ctrl]を押しながらクリックします。
- 右クリックして「論理ダイアグラムの表示」にマウス・ポインタを重ね、「選択された表のみ」をクリックします。
- ファクト表からクリックしてドラッグし、ファクト表に結合されていないディメンション表への結合線を描画します。
- 「論理レイヤー」ペインで、ファクト表に結合したディメンション表をダブルクリックし、表で「ソース」タブをクリックします。
- 「物理表の追加」
、「論理表ソースの作成」の順にクリックし、新しい表ソースの「名前」フィールドに、物理レイヤーで作成したブリッジ表の名前を入力します。
- 「物理表の追加」、「論理表ソースの作成」の順にクリックし、新しい表ソースの「名前」フィールドに、関連するディメンション表の名前を入力します。このステップを繰り返して、他のディメンション表を追加します。
- 「保存」をクリックします。