この記事では、
- Power BI (PBI)のリレーションシップについて
- トランザクションデータとマスタデータの違い
- PBI上でデータテーブル同士のリレーションを作成、編集
- 作成したリレーションを使用して異なるデータテーブルの情報を含んだビジュアルの作成
について説明していきます。
PBIについての概要は以下の記事で紹介しています。
Power BIの特徴とインストール方法について記事内の各項目は以下から移動できます。
PBIのリレーションについて (クリックで移動) トランザクションデータとマスタデータの違い リレーションの作成、編集はこちらから移動できます。 ビジュアルの作成はこちらから移動できます。Contents
結論
- リレーションシップはデータテーブル同士を結び付ける役割
- トランザクションデータは流動的、マスタデータは一意の値を持つ名簿的な役割を持つ
以下で具体的に説明していきます。
PBIのリレーションシップについて
PBIのリレーションシップとは異なるテーブルに存在するデータを共通する列で結び付けて、一つのテーブルにあるようにデータを取り扱えるようにします。
これを行う事で、例えばOracleのデータベースから取得した売上のデータと手元の顧客名簿データにリレーションを結び、顧客ごとの売上を分析する事が可能となります。 リレーションが存在しなければ、これらは別々のデータとして扱う事しかできず、集計や分析に非常に手間がかかってしまいます。
リレーションシップはデータテーブル同士を結び付ける役割です。
トランザクションデータとマスタデータの違い
トランザクションデータとは、販売実績や出荷明細、経費精算など日々の業務で追加されていく情報を記録したデータです。
特徴は頻繁にデータが追加されていく、流動的なデータです。
先ほどの例の売上のデータなどが該当します。
一方でマスタデータは、従業員名簿や顧客名簿、都道府県別の担当者、など基本となる情報データです。こちらはあまり頻繁に更新されません。
特徴は必ずキー情報に対して一意の値 (重複が無い)を持つことです。
例えば都道府県別の担当者のマスタであれば、北海道の担当者はAさん、沖縄はZさんというように一つのデータを返します。
また、顧客名簿であればコード【0001】は○○株式会社を示し、住所や連絡先などの情報を返します。
トランザクションデータに住所や連絡先を追加しても良いですが、基本情報に変更があった場合、全てのデータを修正する必要があり非常に大変です。 トランザクションデータを適切に管理するためにはマスタデータが必要です。
PBIのリレーションで説明すると、図の左の販売実績がトランザクションデータ、各種マスタがマスタデータです。
PBI上でデータテーブル同士のリレーションの作成、編集
今回は
- パソコン、備品、二種類の販売実績 (日付、種類、個数、価格、購入先コード、担当者コード)データ
- 営業マスタ (担当者名、担当者コード、連絡先)
- 顧客マスタ (会社名、顧客コード、住所)
- 製品マスタ (製品名、価格)
を使ってリレーションの組み方について説明します。
でもデータのダウンロードは下記から
Test-file.zip1.まずはデータの取得から、PBIを起動してデータを取得から4つのExcelをそれぞれ取得します。
データの取得方法についてはこちらの記事で解説しています。
Power BIに接続可能なデータ/サービスとグラフの作成方法【初心者向け】2.テーブルの名前がsheet1になっているのでそれぞれファイルと同じ名前に変更します。
3.無事5つのファイルが読み込めるとフィールドに5テーブル追加されます。
※読み込んだ際に担当者コードや顧客コードが文字列型の0001表示から数値型の1に変換されています。こちらはPower Queryで編集可能ですが、今回はデータ型の編集は割愛します。
4.次は画面左のモデルをクリックして移動します。
モデルの画面ではテーブル間のリレーション(紐づけ方)の編集ができます。
この画面上でテーブルをドラッグすると好きなところに移動できます。 PBIでは同名の列を持つテーブル同士を自動的に認識してリレーションを結んでくれます。
図では担当者マスタとパソコン、備品、販売実績が結ばれていますね。
今回、顧客マスタと販売実績が結ばれない理由は、販売実績では[購入先コード]、顧客マスタでは[顧客コード]と異なる列名で存在するからです。
ライン上にカーソルを合わせると、どちらも担当者コードの列同士でリレーションが結ばれていることが分かります。
矢印の方向にあるものが同名のデータを含む列のテーブル、基になる側が一意のマスタデータという関係になります。
※どちらも一意でないテーブル同士を結ぶことも可能ですが、関連性が不明確となり、集計の間違いにつながる可能性があるので可能な限り避けましょう。
6.購入先コードと顧客コードをつなぐ場合は、顧客コードか、購入先コードをドラッグしてもう一方に重ねることでリレーションを結ぶことができます。 購入先コードと顧客コードのリレーションはパソコン、備品販売実績の両方と結びましょう。
7.製品マスタは販売実績の「単価」の列同士が自動でつなげられているので先に削除して次に販売実績と製品マスタの製品名を結びましょう。
8.リレーションを正しく結べているかどうかは上部のリレーションシップの管理から確認できます。テーブルへ (列)側にマスタが整列していればOKです。
以上でリレーションの結び方は終了です。ドラッグ操作で簡単にできる点がPBIの良いところですね。
作成したリレーションを使用して異なるデータテーブルの情報を含んだビジュアルを作成する
次は作成したリレーションを使って顧客別の売上マトリックスとグラフを作成します。
顧客、製品別マトリックスの作成
1.レポート画面に戻り、可視化のマトリックスをクリック
2.行に顧客マスタの会社名、列に製品マスタの製品名、値にパソコン販売実績の価格と備品販売実績の価格を入れましょう。
どちらも価格という名前になっているのでパソコン価格、備品価格と名前を変更しましょう、パソコン、備品別に価格が表示されましたね。
このままでは製品ごとにパソコン、備品の価格が表示され非常に見づらいので、メジャーを利用してDAX関数を書いて二つの価格を足し合わせましょう。
メジャーとは関数をしまう箱のようなものです。※こちらについてはまた紹介したいと思います。
3.ホームの新しいメジャーをクリックすると、①上部リボンのすぐ下に数式を入力する画面、②現在選択しているテーブルにメジャーが追加されます。
4.メジャー名をSUM_価格に変更して 「=」の右側に式を入力します。
SUM_価格 = SUM(‘パソコン販売実績'[価格])+SUM(‘備品販売実績'[価格])
(「SUM(‘」 まで入力するとどの列の合計を計算したいかPBIが候補を出してくれます。)
5.式を書いたらEnterで作成完了です。これでパソコンの売上と備品の売上を足し合わせることができました。マトリックスの値をSUM_価格に変更しましょう。
製品ごとに売上が記入された表ができます。
※リレーションが結べていない場合↓のように全ての値が同じになってしまいます。
これはリレーションが存在しないため、PBI側がどのように合計した売上を仕分けてよいか分からないためです。ビジュアルに表示するとすぐにわかるのでおかしいと思ったらリレーションを必ず確認してください。
以上がマトリックスの作成です。
担当者ごとの製品別の売上グラフの作成
次は担当者ごとの製品別の売上グラフを作成します。
1.積み上げ横棒グラフをクリック、軸に担当者マスタの担当者名、凡例に製品マスタの製品名、値にSUM_価格メジャーを選択します。
2.担当者別の売上がグラフ化されました。書式のデータラベルをオンにすると数値のラベルが付きます、浅田さんが最も売上を出していることが分かりますね。
これでマトリックスとグラフを作成しました。
マトリックスとグラフを使用した分析
マトリックスとグラフは同じ売上というデータをそれぞれ担当者、顧客別のデータの切り口で表示しています。
ここで横棒グラフの浅田さんの名前をクリックしてみてください。
横棒グラフで他の売上がぼかされているだけですが、上のマトリックスでは浅田さんから製品を購入した会社のみ表示されています。
これがリレーションを結んで複数のビジュアルを作成する大きな特徴です!
PBIでは何度もグラフや表を作成する事なく担当者がどの顧客からいくら売上を出しているのか分析する事が可能です。 ポイントは異なる切り口でビジュアルを作成して、気になる情報を選択することで様々な情報をくみ取ることです。
まとめ
特に複数のデータベースで管理しているデータはそれぞれで分析していてもなかなか全体像がつかめない場合が多いですよね。PBIではリレーションを結ぶことで直感的な操作でより詳細な分析を行う事が可能です。
PBIを使用して、複数のデータベースをつなぎ合わせ、埋もれているビジネスチャンスを掘り起こしましょう!!
コメントを残す