それでは、「テーブル同士の関連性を定義する」というセクションに入っていきます。ここでは、Power BIの「モデルビュー」を使って、実際にリレーションの設定を行ってみましょう。
モデルビューを見てみると、「販売実績」と「取引先マスタ」の間に線が表示されています。このテーブルとテーブルを結んでいる線のことを「リレーション」と呼びます。
ここで、線の両端に「1」と「*」のようなマークが付いていることに注目してください。これは、テーブル同士のデータの関係性を表しています。
まず、テーブルビューより「取引先マスタ」を確認してみましょう。
取引先マスタには、例えば「ソウル商事」という会社が登録されています。取引先マスタでは、基本的に一つの取引先名に対して、一つのデータ行(データベースの専門用語で、レコードといいます)が存在します。
つまり、「ソウル商事」という会社が何度も重複して登録されているわけではありません。そのため、こちら側には「1」というマークが付きます。
一方、「販売実績」を見てみましょう。
販売実績には、取引が発生するたびにデータが追加されます。例えば、ソウル商事と10回取引をすれば、ソウル商事という取引先名が10件の販売実績に登場することになります。つまり、一つの取引先に対して、販売実績は複数存在します。
この「複数」を表しているのが「*」のマークです。したがって、今回の関係は「1対多」となります。
取引先マスタ側が「1」。販売実績側が「多」。これが、Power BIで非常によく出てくる「1対多」のリレーションです。
では、なぜこのリレーションが必要なのでしょうか。
例えば、販売実績のテーブルには「取引先名」や「売上高」はありますが、「国」という情報が入っていません。「ソウル商事」という取引先が存在していても、それだけでは「ソウル商事はどこの国の会社なのか」という情報は分かりません。
ところが、取引先マスタには「取引先名」と「国」の情報があります。
そこで、この2つのテーブルを「取引先名」でリレーションします。すると、販売実績に直接「国」というデータが入っていなくても、取引先マスタの情報と関連付けて分析できるようになります。
つまり、テーブルを分けて管理していても、リレーションを設定することで、それぞれのテーブルにある情報を組み合わせて分析できるわけです。
例えば、「取引先名」「売上高」「国」という情報を組み合わせて、国別の売上を分析するといったことができるようになります。ここが、Power BIのデータモデルの非常に重要なところです。
なお、今回のデータをインポートすると、Power BIが自動的にリレーションを設定してくれます。今回は仕組みを理解するために、一度このリレーションを削除して、手動でもう一度設定してみましょう。
モデルビューに表示されているリレーションの線を右クリックして、「削除」を選択します。そして、改めてリレーションを設定します。
今回は、「取引先マスタ」の「取引先名」から、「販売実績」の「取引先名」へドラッグ&ドロップしてみます。
すると、次の画面が出てきます。ここで、カーディナリティという項目に「一対多」という関係が設定されます。「保存」ボタンを押してください。
ここで、テーブルの配置にも少し意味を持たせておくと分かりやすいでしょう。「1」側となる取引先マスタを左側に置き、「多」側となる販売実績を右側に置きます。
もちろん、Power BI上ではテーブルの左右を逆にしてもリレーションそのものが成立しなくなるわけではありません。
ただ、データモデルを見るときに、「1側を左」「多側を右」といった一定のルールで配置しておくと、後から見返したときに関係性を理解しやすくなります。
これは、Excelの数式で「E1が100より大きい」という条件と、「100がE1より小さい」という条件を考えるときに、どちらも表現としては成立するけれど、一定の書き方に統一したほうが読みやすい、という感覚に近いかもしれません。
「100がE1より小さい」というのはわかりづらいですよね。
Power BIのデータモデルも同じです。もちろん、テーブルの配置方法そのものが絶対的なルールというわけではありません。大切なのは、「どのテーブルが1側なのか」「どのテーブルが多側なのか」という関係性を理解することです。
今回のポイントは、
「取引先マスタは1つの取引先につき1件」
「販売実績は1つの取引先に対して複数件」
だから「1対多」のリレーションになる、ということです。この考え方を理解しておくと、複数のテーブルを使ったPower BIの分析が一気に分かりやすくなってきます。
それでは、ここまでのまとめです。ここまでで行ったのは、次の3つの作業でした。
1. 「データを取得」ボタンや「Excelブック」ボタンでデータを取り込む
2. テーブルビューでデータを確認して、データ型と表示形式を整える
3. モデルビューで、リレーションシップを確認して整える
これで、データの準備は完了です。次からは、いよいよレポート作成に入っていきます。