リレーションシップを使えば複数の表を集計することができます
ピボットテーブルは「リレーションシップ」で複数の表を集計できます
リレーションシップはAccessなどのデータベースが持つ優れた機能で、複数の表(テーブル)を関連付けて同時に操作(集計)することができる機能です。
この複数の「表(テーブル)」を同時に操作する機能を使えば、集計に新たな「要素」を加える場合にも、「元の表」に手を加えることなく、「新たな要素を加えた表(テーブル)」を使って集計をすることができ、「表」が複雑化、肥大化することを防ぐことができます。
一つの表に多くのフィールド(項目)を盛り込むと、とても扱いずらい表になってしまいます。
共通のフィールド(項目)を持つ複数の表に分割することで扱いやすく管理しやすい表になります。
1つの表を4つに分割する
1つの表を共通のフィールドで関連付けて目的別に4つの表に分割する。
ピボットテーブルのリレーションシップの機能には、色々なメリットがあります。
- 複数の表を一つのピボットテーブルで集計できる
- 複数の表(テーブル)をリレーション(関連)付けることにより、元の表(テーブル)に手を加えることなく新たなフィールド(項目)を追加することができる
- 共通するフィールド(項目)でまとめることで、「表が肥大化」するのを防ぐことができます。
複数の表を一つのピボットテーブルで扱えます
4つの表(テーブル)をリレーションシップの機能で関連付けることで、一つのピボットテーブルとして操作することができます。
「顧客コード一覧」、「販売エリア一覧」、「商品名一覧」の表を作成します。
「注文一覧」の表を分割して、「顧客一覧」、「商品一覧」、「販売エリア一覧」を作成します。
「重複の削除」の機能を使って、表を分割して「別の表」を作成します
今回使用している「注文一覧」の表をコンパクトにするために、複数の表に分けます。
分割したいフィールド(項目)を切り出して別表を作成し、そのデータで重複しているものを削除することにより必要な情報を取り出します。
そしてそれらの「表」をリレーションシップの機能を使って、「元の表」と「参照する表」に分けることにより、「元の表」を小さくすることができます。
「顧客名一覧」を作成します
データタブの機能「重複の削除」を使って、注文一覧のデータから個別の表を作成します。
「顧客名一覧」の表を作成しておくことで、リスト入力用のデータにすることができます。
- 「顧客コード」と「顧客名」のフィールド(列)全体をコピーします
- コピーしたフィールド(列)を適当な場所に挿入します
- 「データタブ」を選択します
- 「重複の削除」をクリックします
- 重複の削除ダイアログで「すべて選択」をクリックします
- 重複データが削除されているのを確認して「OK」します
※ 「重複の削除」についての詳しい操作方法は、この記事も参考にしてください。
同様の方法で、「顧客名」、「商品名」、「販売エリア」の表(テーブル)を作成します
それぞれのテーブルに「名前」を付けます。
- テーブル名を変更する「テーブル」を選択します
- 「テーブルツール」が表示されているのを確認します
- 「デザイン」タブを選択
- テーブル名のボックスに「名前」を入力します
※ テーブル名ボックスで文字確定すれば、名前が設定されます
※ 「テーブル化」についてはこちらも参考にしてください
元のリストは「注文一覧」に、それ以外は、下記のように名前を付けます
「顧客名」、「販売エリア」、「商品名」のフィールドを削除します
リレーションシップの機能を使って、それぞれの「表(テーブル)」を参照するので「顧客名」、「販売エリア」、「商品名」のフィールド(列)は削除します。
リレーションシップを設定し、それぞれのテーブルを関連付けます
それぞれのテーブルの共通フィールドでリレーションシップを設定することで、表を関連付けることができます。
リレーションシップの設定
それぞれのテーブルの「共通」のフィールドを関連付けをしてリレーションシップを設定します。
- 「データタブ」を選択
- 「リレーションシップ」をクリック
- 「新規作成」をクリック
4つのテーブル(表)にリレーションシップを設定します
- 「注文一覧」と「顧客一覧」の共通フィールド「顧客コード」を指定
- 「注文一覧」と「販売エリア一覧」の共通フィールド「支社名」を指定
- 「注文一覧」と「商品一覧」の共通フィールド「商品コード」を指定
リレーションシップの詳しい操作方法は「複数の表をもとにピボットテーブルを作成して集計する(リレーションシップ)その1」も参考にしてください。
リレーションシップが設定された複数の表を使って、ピボットテーブルを作成し
共通のフィールドを使って関連付け(リレーション)した複数の「表(テーブル)」を使ってピボットテーブルを作成します。
- 「注文一覧」のテーブルのどこか1カ所を選択します
- 「テーブルツール」が表示されているのを確認
- 「挿入」タブを選択します
- 「ピボットテーブルツール」をクリック
- ピボットテーブルの作成で、「複数のテーブルを分析するかどうかを選択」にチェックを入れる
- 「OK」をクリックします
ピボットテーブルが作成され、4つのテーブル(表)が表示されます
ピボットテーブルのフィールドのタブで「すべて」を選択すると、ファイル内のすべての「テーブル」が表示されて選択できる状態になります。
※ 「アクティブ」を選択した場合は、カーソルのある「テーブル」のみが表示されます
フィールド「年」、「月」が自動作成されない場合は、グループ化をします。
通常、「年」、「四半期」などのフィールドは自動作成されますが、自動作成されない場合は手動で「グループ化」して作成します。
※「アクティブ」のテーブルでは、「日付」がグループ化されていることが多い
グループ化して「月」、「四半期」、「年」を作成します
- ピボットテーブルの「日付」の部分を選択して、右クリックします
- プルダウンリストから「グループ化」を選択します
- グループ化のダイアログの単位で、「月」、「四半期」、「年」を選択します
※ グループ化の機能で、「半期」、「年度(4月~3月)」なども作れます
グループ化されて、フィールドが作成されました
4つの表のフィールド(項目)を使って、1つのピボットテーブルを作成
複数の表からフィールド(項目)を選択して集計することができます。
「顧客名」と「商品名」のクロス集計で売上金額を集計
- 「顧客一覧」のテーブルから顧客名を「行」のボックスにドラッグ
- 「商品一覧」のテーブルから商品名を「列」のボックスにドラッグ
- 「注文一覧」のテーブルから金額を「∑ 値」のボックスにドラッグ
リレーションシップを使えば、複数の表を使って一つのピボットテーブルを作成することができます。
すでに作成済みのピボットテーブルに新たな要素を加えたいときも、作成済みの「表(テーブル)」に手を加える必要がありません。
分析したい要素を加えるときは、新たに「表(テーブル)」を作成してリレーションするだけで、分析資料に新たな要素を加えることができます。
- リレーションシップを使えば複数の表を集計することができます