LoginSignup
5
2

More than 1 year has passed since last update.

雑・Excel入門試論 - 脱VLOOKUPの思考 18 パワーピボット - データモデル

Last updated at Posted at 2022-12-17

 前回はPower Queryを使用して2つのテーブルを結合しましたが、今回は以下のような2つのテーブルでリレーションを使用してパワーピボットテーブルで結合させます。

Pivot Tableの作成

 データモデルにデータを追加するには、まずデータを `Ctrl + T` を押すなどしてテーブルに変換します。
 その後、「Power Pivot」タブから「データモデルに追加」をクリックします。

 または、「挿入」タブの「テーブル」グループから「ピボットテーブル」をクリックし、「テーブルまたは範囲からピボットテーブル」ダイアログで、「このデータをデータモデルに追加」のチェックボックスにチェックを入れてOKをクリックします。

リレーションシップの作成

 「データ」タブの「データツール」グループ内の「リレーションシップ」をクリックします。

 「リレーションシップの管理」ダイアログボックスで「新規作成」ボタンをクリックします。

 「データモデルの管理」で「ダイアログビュー」を表示すると、リレーションの状態が表示されます。ここでは、カーディナリティがRepoとSalesの方向で1対多の関係になっていることがわかります。

 この「ダイアログビュー」で項目をマウスでドラッグ&ドロップしてリレーションを設定することもできます。
 

ピボットテーブルを作成

 「ピボットテーブルのフィールド」ペインに先ほどリレーションを作成した2つのテーブルが表示されます。
 StateとSalesは別々のテーブルにある項目ですが、リレーションが設定されているので、ピボットテーブルを作成することができます。

カーディナリティと方向

 エクセルでリレーションを使用する時に注意することがあります。

カーディナリティの種類

  1. 1対1
    • 2つのテーブルのレコードが1対1で対応します。
  2. 1対多
    • 片方のテーブルのレコード1に対してもう一方のテーブルに複数のレコードが対応します。
  3. 多対多
    • 双方のテーブルが複数のレコードで連携し、一意の値を取ることができません

 リレーションには、カーディナリティと合わせて方向があります。一般的に1対1のリレーションは双方向、1対多のリレーションでは1から多の方向、多対多は左右いずれかの方向を持つことがあります。

 エクセルのリレーションでは、1対多のカーディナリティで、単一方向のリレーションを使います。1対多で逆方向のリレーションを作ろうとすると、下図のようにメッセージが出て方向を修正されます。

 ただし、1対1のリレーションの場合は、Power Queryで事前に結合しておくことをお勧めします。

コンテンツ

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2