エクセルピボットをBIツールのようにつかう – 2.8 – データのリレーションシップ

エクセルピボットをBIツールのようにつかう – 2.8 – データのリレーションシップ

エクセルをBIツールのように活用する方法を解説しています。使用するのはエクセルの標準機能 (マクロは使用ナシ) だけ! 
今回は、データをリレーションシップする方法について解説しています。

>売上サンプルデータ (テキストファイル) はこちらからダウンロードできます。

リレーションシップとは

<リレーションシップの前提条件>
・複数のテーブルデータ (テーブルデータ化はこちらを参考にしてください) がある。通常の表データはリレーションできません。
・両方のテーブルに一致する値 (キー(結合句)) を含む列がある。
・一方のキー (結合句) はユニークであり重複行 (ダブり) がない。
 1対1、1対多のリレーションは可能、多対多のリレーションは不可能です。
・両方のキーのデータ形式が同一である。文字列と文字列とか。

マージしたようなデータ

 データのマージはデータAへデータBの値を実際に引っ張てきます。データへマージした列が追加されます。リレーションシップはデータへ列が追加されません。

 画像のように会員コードをキーに「売上データ」へ「顧客マスタ」の値を引っ張ってくるとします。データのリレーションシップ機能をつかえば、「生年月日」がほしいとき、「性別」がほしいとき、「住所」がほしいとき、それぞれの列をVLOOKUPで作成するような手順は必要ありません。

 リレーションシップはデータへ列を追加することなく、マージしたデータ、VLOOKUPで値を引っ張ってきたデータのように列を取り扱うことができます。
 見えないのですが、リレーションテーブルのようなものがあるようなイメージです。

<リレーションシップのメリット>
・列が増えない。VLOOKUPの計算式やマージの手順を省略できる。
・関数VLOOKUPは参照先のデータ範囲を指定します。ということは、参照先のデータ行が増えるとか、そのたびに計算式を書き換えなければならない。リレーションシップはその必要がない。

生年月日別売上高

 「顧客マスタ」の生年月日を軸へ設定、「売上データ」のsalesを値に設定して集計すると生年月日別売上高のチャートを作成できます。

生年月日を年で集計

 生年月日を「年」へ変更します (ピボットの自動グループ化機能) 年齢別売上高のチャートをつくれます。

リレーションシップ手順
リレーションシップ

 リレーションシップする複数のデータはテーブルデータです。
・「データ」タブ
・「リレーションシップ」をクリックします。

リレーションシップの管理

・「新規作成」をクリック

テーブルとキー

・「テーブル」「関連テーブル」をドロップダウンのなかから選択します。
・「列」「関連列」ををドロップダウンのなかから選択します。

「テーブル」「関連テーブル」どっちがどっち?
「テーブル」「関連テーブル」

・「テーブル」 (上のドロップダウン) が売上データのような実績データです。マージでいうと、列を追加する方のデータ。
・「関連テーブル」 (下のドロップダウン) がマスタデータのような重複する値が含まれていないデータです。

逆に設定して大丈夫です

 「テーブル」と「関連テーブル」を逆に設定するとインフォメーションが表示されます。ドキッとしますが、そのままOKしてください。自動的に上下を入れ替えてリレーションシップしてくれます。

リレーションテーブルをピボットデータに設定する
ピボットの挿入

・「挿入」タブ
・ピボットを挿入します。

外部データソース

・「外部データソースを使用」のラジオボタンをクリック
・「選択の接続」をクリック

データを選択

・「テーブル」タブ
・リレーションシップしたデータを選択してOKです。

アイコン

 アイコンの色がちょっと黒くなっていれば成功です。