Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ リレーションシップの作成とピボットテーブルによる検証 | リレーションシップの構築
Excelデータモデリング

リレーションシップの作成とピボットテーブルによる検証

メニューを表示するにはスワイプしてください

4つのテーブルがデータモデルに読み込まれていても、これらは依然として独立しています。Power Pivotは、それらがどのように接続されているかを自動的には認識しません。リレーションシップが定義されていない場合、異なる2つのテーブルからフィールドをピボットテーブルで組み合わせると、誤った結果が生成されます。

1側と多側

Power Pivotのすべてのリレーションシップは、正確に2つのテーブルを接続します。1つは1側、もう1つは多側として機能します。

Excelのダイアグラムビューでは、ディメンションテーブル側に1、ファクトテーブル側に*(アスタリスク)が表示されます。両者を結ぶ矢印は、リレーションシップの流れの方向を示しており、常にディメンションからファクトへ向かいます。

Note
注意

常にディメンションテーブルからファクトテーブルへドラッグします — 一意キーから繰り返しキーへの操作です。ドラッグを開始したテーブルが「1側」となり、ドロップしたテーブルが「多側」となります。

カーディナリティの種類

「リレーションシップの管理」ダイアログでは、カーディナリティ(各側で何行一致するかの数値的な説明)も表示されます。

  • 1* 多対一 — このモデルでの標準的なパターン。Salesの複数行がCustomers、Products、Datesのいずれかの1行と一致します。
  • 11 一対一 — 片側の各行がもう一方の側のちょうど1行と一致します。トランザクションモデルではまれです。
  • ** 多対多 — 両側の複数行が一致する場合。慎重な取り扱いが必要で、シンプルなモデルでは一般的に避けられます。

タスク

データモデルでリレーションシップを作成します。

ステップ1 — ダイアグラムビューを開く

リボンの Power Pivot タブに移動し、管理 をクリックします。

Power Pivotウィンドウの右下にある2番目のアイコンで ダイアグラムビュー に切り替えます。

4つの未接続のボックス(各テーブルごとに1つ)が表示されます。これが開始点です。

ステップ2 — 3つのリレーションシップを作成する

ディメンションテーブルのキー列からSalesテーブルの対応する列へ、クリック&ドラッグで各リレーションシップを作成します。

Customers → Sales: Customersボックスの CustomerID をSalesボックスの CustomerID にドラッグします。

Products → Sales: Productsボックスの ProductID をSalesボックスの ProductID にドラッグします。

Dates → Sales: Datesボックスの Date をSalesボックスの OrderDate にドラッグします。

各ドラッグ後、表示される線の両端を確認します。ディメンションテーブル側が 1、Sales側が * になっていることを確認してください。逆の場合は線を削除してやり直します。必ずディメンションテーブル側に1が表示されるようにしてください。そうでない場合は、ドラッグする列の順序を逆にするか、**「リレーションシップの管理」**機能(下記ステップ3参照)を使用します。

ステップ3 — 「リレーションシップの管理」で確認する

Power Pivotウィンドウで、デザインタブ → リレーションシップの管理 に進みます。

3つのリレーションシップがすべてリストに表示され、両側のテーブルと列が正しいことを確認します。

ダイアログを閉じてPower Pivotウィンドウも閉じます。

ステップ4 — ピボットテーブルで検証する

Excelで、挿入 → ピボットテーブル に進みます。

このブックのデータモデルを使用する を選択し、OK をクリックします。

ピボットテーブルのフィールドウィンドウで、CustomersのRegionを行エリアに、SalesのTotalを値エリアにドラッグします。

ピボットテーブルには、各地域ごとに異なる売上合計が表示され、同じ数値が繰り返されないことを確認します。これでCustomers → Salesのリレーションシップが機能していることが分かります。

さらに、ProductsのCategoryも行エリアにドラッグします。テーブルは、RegionとCategoryの両方で売上を同時に集計し、3つの異なるテーブルからデータを取得していることを示します。

1. Diagram ViewでCustomersテーブルとSalesテーブルの間にリレーションシップを作成しました。ドラッグを離した後、*記号がCustomers側に、1がSales側に表示されていることに気付きました。これは何を意味しますか?

2. データモデルを使ってピボットテーブルを作成したとします。CustomersテーブルからRegion、SalesテーブルからTotalを同じピボットテーブルにドラッグしました。すべての地域の行にまったく同じ数値(グランドトータル)が4回繰り返して表示されます。最も考えられる原因は何ですか?

question mark

Diagram ViewでCustomersテーブルとSalesテーブルの間にリレーションシップを作成しました。ドラッグを離した後、*記号がCustomers側に、1がSales側に表示されていることに気付きました。これは何を意味しますか?

正しい答えを選んでください

question mark

データモデルを使ってピボットテーブルを作成したとします。CustomersテーブルからRegion、SalesテーブルからTotalを同じピボットテーブルにドラッグしました。すべての地域の行にまったく同じ数値(グランドトータル)が4回繰り返して表示されます。最も考えられる原因は何ですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  3

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  3
some-alt