エクセルピボットをBIツールのようにつかう – 2.8 – データのリレーションシップ
エクセルをBIツールのように活用する方法を解説しています。使用するのはエクセルの標準機能 (マクロは使用ナシ) だけ!
今回は、データをリレーションシップする方法について解説しています。
>売上サンプルデータ (テキストファイル) はこちらからダウンロードできます。
目次
リレーションシップとは
<リレーションシップの前提条件>
・複数のテーブルデータ (テーブルデータ化はこちらを参考にしてください) がある。通常の表データはリレーションできません。
・両方のテーブルに一致する値 (キー(結合句)) を含む列がある。
・一方のキー (結合句) はユニークであり重複行 (ダブり) がない。
1対1、1対多のリレーションは可能、多対多のリレーションは不可能です。
・両方のキーのデータ形式が同一である。文字列と文字列とか。
データのマージはデータAへデータBの値を実際に引っ張てきます。データへマージした列が追加されます。リレーションシップはデータへ列が追加されません。
画像のように会員コードをキーに「売上データ」へ「顧客マスタ」の値を引っ張ってくるとします。データのリレーションシップ機能をつかえば、「生年月日」がほしいとき、「性別」がほしいとき、「住所」がほしいとき、それぞれの列をVLOOKUPで作成するような手順は必要ありません。
リレーションシップはデータへ列を追加することなく、マージしたデータ、VLOOKUPで値を引っ張ってきたデータのように列を取り扱うことができます。
見えないのですが、リレーションテーブルのようなものがあるようなイメージです。
<リレーションシップのメリット>
・列が増えない。VLOOKUPの計算式やマージの手順を省略できる。
・関数VLOOKUPは参照先のデータ範囲を指定します。ということは、参照先のデータ行が増えるとか、そのたびに計算式を書き換えなければならない。リレーションシップはその必要がない。
「顧客マスタ」の生年月日を軸へ設定、「売上データ」のsalesを値に設定して集計すると生年月日別売上高のチャートを作成できます。
生年月日を「年」へ変更します (ピボットの自動グループ化機能) 年齢別売上高のチャートをつくれます。
リレーションシップ手順
リレーションシップする複数のデータはテーブルデータです。
・「データ」タブ
・「リレーションシップ」をクリックします。
・「新規作成」をクリック
・「テーブル」「関連テーブル」をドロップダウンのなかから選択します。
・「列」「関連列」ををドロップダウンのなかから選択します。
「テーブル」「関連テーブル」どっちがどっち?
・「テーブル」 (上のドロップダウン) が売上データのような実績データです。マージでいうと、列を追加する方のデータ。
・「関連テーブル」 (下のドロップダウン) がマスタデータのような重複する値が含まれていないデータです。
「テーブル」と「関連テーブル」を逆に設定するとインフォメーションが表示されます。ドキッとしますが、そのままOKしてください。自動的に上下を入れ替えてリレーションシップしてくれます。
リレーションテーブルをピボットデータに設定する
・「挿入」タブ
・ピボットを挿入します。
・「外部データソースを使用」のラジオボタンをクリック
・「選択の接続」をクリック
・「テーブル」タブ
・リレーションシップしたデータを選択してOKです。
アイコンの色がちょっと黒くなっていれば成功です。