以下の内容はhttps://k-ohmori9616.hatenablog.com/entry/2020/02/19/105317より取得しました。


ピボットテーブルで複数の表を集計する(リレーションシップ)その1

ピボットテーブルは同時に複数の表を集計することができます

 共通の項目を持つ複数の表」1つのピポットテーブルとして扱うことができます。

 

ピボットテーブルを使えば、単純な表から様々な分析をすることができます

 今回は「複数の表」から1つのピボットテーブルを作成して集計をします。

 この機能は「リレーションシップ」と呼ばれ、Access等のデータベースを使っている方にはなじみがあると思います。

 ExcelではExcel2013のバージョンから「リレーションシップの設定」という機能が新たに追加され複数の表を関連付けて1つにまとめて扱うことが簡単にできるようになりました。

 

共通の項目を使って、複数の表を関連付ける

 例えば顧客の所在地別」売上状況分析をする場合を想定します。

「売上明細表」には「所在地のデータはない

   f:id:k-ohmori9616:20200217121741p:plain


 1つの表に多くの項目(フィールド)を盛り込むと表が大きくなりすぎ作業効率が悪くなってしまいます。

   f:id:k-ohmori9616:20200219095501p:plain

 そのため通常、「顧客データ」「商品マスター」のように複数の表に分けて作成し、VLOOKUP関数などで参照・連携させていると思います。

 

複数の表を「連携」させることが「リレーション」です。

 複数の表を連携」させて集計・分析させることで、もとの表に項目(フィールド)を加える等、手を加える必要がありません。

 分析のために「新たな項目を加えたいときも、必要な要素だけの「別の表」を作成するだけですみます。

   f:id:k-ohmori9616:20200217124249p:plain

 

内容別に「4つ」の表(テーブル)を作成

 内容別に4つの表(テーブル)を集計・分析します。

  • 「顧客」➡ 顧客の情報を管理するテーブル ➡ 「どの顧客が」
  • 「商品」➡ 商品の情報を管理するテーブル ➡ 「何の商品を」
  • 「注文」➡ 注文日、販売先など注文の概要を管理するテーブル ➡ 「何月何日に」
  • 「明細」➡ 注文された商品の商品名、数量、金額などの明細を管理するテーブル ➡ 「何個購入したのか」

 

複数の表(テーブル)に分けるメリット

  • 新たな項目(フィールド)を追加する時に、既存の表に手を加えることなく「別の表」を作るだけでよい

  • 表がコンパクトになり、入力作業が簡単になる

  • VLOOKUP関数等で参照形式にしておくことで、「顧客名」「商品の単価」といった共通の要素が変更された場合に、参照テーブルを変更するだけで良い

 

関連性のある「共通の項目」を持った、4つの表(テーブル)

「顧客」テーブル

   f:id:k-ohmori9616:20200217125016p:plain

「商品」テーブル

   f:id:k-ohmori9616:20200217125117p:plain

「注文」テーブル

   f:id:k-ohmori9616:20200217125223p:plain

「明細」テーブル

   f:id:k-ohmori9616:20200217125323p:plain

 

 それぞれの表を「テーブル化」します

 リレーションシップを設定するには、表が「テーブル化」されている必要があります。

  1. リボンの「挿入」タブを選択します
  2. テーブル化したい表の「どこか1カ所」を選択します
  3. 「テーブル」をクリックします
  4. 「表」が正しく選択されていることを確認
  5. 「テーブルの作成」ボックスで「OK」をクリック

   f:id:k-ohmori9616:20200217130505p:plain

 

テーブルに「名前」を付けます

 作成した「テーブル」に、分かりやすくするために「名前」を付けます。

顧客のテーブルに、「顧客」の名前を付ける
  1. テーブル内のどこか1カ所を選択
  2. 「テーブルデザイン」タブを選択
  3. テーブル名のボックス「顧客」と入力

   f:id:k-ohmori9616:20200219103653p:plain

    その他の表も同様に「テーブル化」して「名前」を付けます。

 

「リレーションシップ」共通のフィールドを関連付ける

 「顧客テーブル」「注文テーブル」の2つの表の共通のフィールド「顧客コード」「リレーションシップ」を設定する。

   f:id:k-ohmori9616:20200217131401p:plain

 

「リレーションシップ」を作成する

 リレーションシップは「データタブ」リレーションシップで作成していきます。

  1. 「顧客コード」表の1カ所を選択
  2. リボンフィールドの「データ」タブを選択
  3. リボンフィールドの「リレーションシップ」をクリック
  4. 「リレーションシップの管理」ボックスの新規作成をクリック

   f:id:k-ohmori9616:20200217132347p:plain

 

「注文」「顧客」の共通項目の「顧客コード」リレーションシップを設定する

 リレーションシップのダイアログで、リレーションシップを作成します。

  1. テーブルラジオボタン「▼」をクリックして、ボックスから「テーブル:注文」を選択
  2. 列(外部)のボックスから「顧客コード」を選択
  3. 関連テーブルのボックスから「テーブル:顧客」を選択
  4. 関連列(プライマリ)のボックスから「顧客コード」を選択

 

   f:id:k-ohmori9616:20200217133730p:plain

 

「注文のテーブル」「顧客のテーブル」のリレーションシップが作成されました

   f:id:k-ohmori9616:20200217135755p:plain

 

「明細」「商品」の共通項目の「商品コード」リレーションシップを設定する
  1. テーブルラジオボタン「▼」をクリックして、ボックスから「テーブル:明細」を選択
  2. 列(外部)のボックスから「商品コード」を選択
  3. 関連テーブルのボックスから「テーブル:商品」を選択
  4. 関連列(プライマリ)のボックスから「商品コード」を選択

   f:id:k-ohmori9616:20200217135131p:plain

 

「注文」と「明細」の共通項目の「注文コード」リレーションシップを設定する
  • テーブルラジオボタン「▼」をクリックして、ボックスから「テーブル:注文」を選択
  • 列(外部)のボックスから「注文コード」を選択
  • 関連テーブルのボックスから「テーブル:明細」を選択
  • 関連列(プライマリ)のボックスから「注文コード」を選択

   f:id:k-ohmori9616:20200217140053p:plain

 

4つのテーブル「3つのリレーションシップ」により関連付けされました

 「注文」「顧客」「明細」「商品」の4つのテーブルが3つのリレーションシップで関連付けされました。

  1. 「注文」「顧客」のリレーションシップ
  2. 「明細」「商品」のリレーションシップ
  3. 「注文」「明細」のリレーションシップ

   f:id:k-ohmori9616:20200217140439p:plain

 

テーブル」と「関連テーブル」の意味

 にしたいテーブルを「テーブル」に配置し、関連付けたいテーブルを「関連テーブル」に配置します。

  • テーブル    ➡  「主」となるテーブル
  • 関連テーブル  ➡  「主テーブルに関連付ける」テーブル(リレーション)

  「テーブル」と「関連テーブル」のテーブル名が入れ替わっていても、Excel自動判断してくれます。

 

複数テーブルから「ピボットテーブル」を作成

複数のテーブルを関連付けてピボットテーブル」を作成していきます
  1. テーブル内の「どこか1カ所」を選択
  2. リボンフィールドの「挿入」を選択
  3. 「ピボットテーブル」をクリック
  4. ピボットテーブルの作成ボックスで、「複数のテーブルを分析するかどうかを選択」「このデータをデータモデルに追加する」にチェックを入れる

   f:id:k-ohmori9616:20200217141547p:plain

 

 ピボットテーブルのフィールド「すべてを選択すれば、4つのテーブルが表示される

 ピボットテーブルのフィールド「すべて」のタブを選択すると、リレーションシップが設定されている「4つのテーブル」が表示され、選択可能になります。

   f:id:k-ohmori9616:20200217142349p:plain

 

テーブル名の横の「印」をクリックすると、フィールド(項目)が表示

 テーブル名の横にある「印」をクリックすると、テーブルのフィールド(項目)が表示されて選択可能になります。

   f:id:k-ohmori9616:20200217143931p:plain

 

「商品名」「支社名」クロス集計した売上金額の集計表を作成します

 リレーションシップが設定されている、3つのテーブルから必要なフィールドをドラッグしてピボットテーブルを作成します。

 

3つのテーブルから、それぞれ必要なフィールド(項目)をドラッグ
  1. 「顧客」テーブルから、列のボックスにに「支社名」をドラッグ
  2. 「商品」テーブルから、行のボックスに「商品名」をドラッグ
  3. 「注文」テーブルから、∑ 値のボックスに「金額」をドラッグ

   f:id:k-ohmori9616:20200217144837p:plain

 

 新たな条件で分類する時に、必要なフィールド(項目)を含むテーブルを新たに作成し「リレーションシップ」を設定すれば元の表(データ)に手を加えずに集計することができます。

 リレーションシップの機能を使わない場合は、一つの表に分析(分類)したい項目(フィールド)をすべて盛り込む必要があり、「扱いづらい表」になったり、時にはデータの打ち直しの必要が生じる場合もあります。

 リレーションシップの機能を使えば、VLOOKUP関数等で「参照」されている複数の表」を加工することなく分析(集計)することができます。

 

その2では、操作が複雑でわかりにくい「関連付け」簡単にできる、PowerPivotを使って関連付けをする方法を説明します。

 

 

k-ohmori9616.hatenablog.com

 

 

 




以上の内容はhttps://k-ohmori9616.hatenablog.com/entry/2020/02/19/105317より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14