仕事効率化

Power BI:複数の列でリレーション設定する方法を基本から解説

スポンサーリンク

 

この記事はこんな方におススメです
  • データ分析を始めたいが特に使うツールが決まっていない方
  • Power BIでどんなことができるか知りたい方
  • Power BIを使い始めたばかりで基本から学びたい方

▶ 中間テーブルを作ってリレーションシップの設定をする方法はこちらをご覧ください

▶ カレンダーテーブルの作成方法はこちらの投稿をどうぞ

はじめに

今回は複数の列をキーとしてリレーションシップ設定する方法を基本から解説します。データの集計をしているときに、1つのキーではリレーション設定ができないケースが出てきます。そんなときに複数の列を組み合わせてキーとする方法が有効です。さっそくみていきましょう。

複数の列でリレーションの設定

実はPower BIでは複数の列を組み合わせてリレーション設定する機能はありません。ただ、複数の列を組み合わせてあらたな列を作って、その列をキーとしてリレーション設定することで同じことができます。このように、複数の列を組み合わせてつくったリレーション設定のキーとする新しい列のことを複合主キーといいます。まずは複合主キーの作り方をみていきましょう。

サンプルデータ

「売上テーブル」「来客数テーブル」の2つのテーブルがあり、「日付」や「支店名」など単独の列では一意にならない。但し、この2つを組み合わせると一意になるので、この組み合わせを主キーにしたい、というケースを考えましょう。

サンプルデータ

複数の列を組み合わせて主キー(複合主キー)とする

まず複合主キーをつくりましょう。ここでは、 「日付」と「支店名」から複合主キーを作ります。まずは「ホーム」メニューの「クエリ」リボンから「データの変換」を選択してPower Queryエディタを起動しましょう。

データの変換

次に各テーブルに複合主キーを作っていきます。まずは「売上テーブル」からです。

「売上テーブル」に複合主キーを作成

まずは「売上てテーブル」を選択(①)し、次に「日付」列を選択した状態でCtrlキーを押しながら「支店名」の列をクリックします。これで2つの列を選択(②)した状態になります。この状態で「列の追加」メニューの「テキストから」リボンの「列のマージ」をクリックします。

列のマージ

すると「列のマージ」ダイアログが表示されます。ここでは区切り記号を「カスタム」として「_(アンダースコア)」を指定しています。またわかりやすいように列名を「複合主キー」としておきましょう。最後に「OK」をクリックします。

複合主キーの完成

すると上記のように複合主キーが完成しました。同じ要領で「来客数テーブル」にも複合主キーを作成します。

来客数テーブルに複合主キーを作成

これで完成です。「ホーム」タブから「閉じて適用」をクリックしてPower BI Desktopに戻ります。

複合主キーでリレーション設定

まずリレーションを確立させましょう。Power BI Desktopで「モデル」画面を開きます。

リレーションの確立

ここまで全く同じ手順で進めてきていれば、既にリレーションは確立できています。②の部分は2つのテーブル間で列名が揃っていれば既にリレーション設定されています。まだリレーション設定されていなければ、ここで設定してしまいましょう。「売上テーブル」で「複合主キー」を選択した状態で「来客数テーブル」の「複合主キー」にドラッグ&ドロップすればOKです。

最後にレポートを作って確認してみましょう。まず、「レポート画面」を表示しましょう。必要に応じてカレンダーの中間テーブルも作っておくとよいでしょう。

▶ カレンダーテーブルの作り方は以下の投稿をどうぞ

ここでは「折れ線グラフおよび集合縦棒グラフ」を描いてみました。

折れ線グラフおよび積み上げ縦棒グラフ

棒グラフは「来客数テーブル」の来客数、折れ線グラフは「売上テーブル」の売上を指定しています。しっかりリレーションして描画できていますね。

スポンサーリンク

まとめ

今回は複数の列でリレーション設定する方法を解説しました。単独の列だけではリレーション設定できない、複合主キーを使わないとうまくいかない、といったケースは必ずあると思うので、是非マスターしておきましょう。

コメント

タイトルとURLをコピーしました