1.はじめに
複合主キーのテーブルとリレーションシップを作成しようと試みましたが、リレーションシップの作成画面では一つのテーブルで一つの項目しか選択できないため作成できません。
このような場合のリレーションシップを作成する方法を記載します。
2.テーブルの関係
商品マスタの主キーは「ID」で、売上テーブルの複合主キーは「年月、商品」の場合の
リレーションシップは下図になります。
上記で記載した通りPower BIでは、複数項目のリレーションシップが作成できないため一手間必要になります。それでは、設定しましょう。
3.Power Queryエディターで編集
3-1.商品マスタに項目追加
商品マスタと売上テーブルにリレーションシップを作成すための項目をそれぞれに追加します。
Power query エディターを開いてクエリペインで商品マスタを選択し、リボンの「列を追加」タブを選択し「カスタム列」をクリックます。
「新しい列名」に任意の項目名を入力します。今回は「連結キー」を入力しています。次に「使用できる列」から「年月」を選択し「挿入」ボタンをクリックします。
「カスタム列の式」の「年月」の右に文字列結合の「&」を入力し「使用できる列」から「商品」を選択し「挿入」ボタンをクリックし、「カスタム列の式」に挿入されたことを確認後「OK」ボタンをクリックします。注意点は結合する項目「年月」も「商品」も「テキスト型」の必要があります。
「年月」と「商品」のデータが結合した「連結キー」が追加されました。
3-2.売上テーブルに項目追加
商品マスタと同じように売上テーブルにリレーションの項目を作成します。クエリペインで売上マスタを選択し、リボンの「列を追加」タブを選択し「カスタム列」をクリックします。
「新しい列名」に商品マスタと同様に「連結キー」を入力し「使用できる列」から「年月」を選択し「挿入」ボタンをクリックします。
「カスタム列の式」の「年月」の右に文字列結合の「&」を入力し「使用できる列」から商品を選択し「挿入」ボタンをクリックし、「カスタム列の式」に挿入されたことを確認後「OK」ボタンをクリックします。
「年月」と「商品」のデータが結合した「連結キー」が追加されました。
まだ、設定は反映されていないため、リボンの「ホーム」タブを選択し、「閉じて適用」を選択し「閉じて適用」をクリックし設定内容を保存します。
4.リレーションシップの作成
「モデル」をクリックし、リレーションシップ設定画面へ遷移します。
既にリレーションシップが作成されています。同一項目名のためPower BIがリレーションキーと判断し設定してくれています。リレーション(線)をダブルクリックし内容を確認しましょう。
売上テーブルの連結キーと商品マスタの連結キーの間でリレーションシップが作成されています。売上テーブルのデータの関係でカーディナリティが「一対一(1:1)」になっているため修正します。
カーディナリティを「多対一(*:1)」を選択し「OK」ボタンをクリックします。
これで、リレーションシップの作成が完了です。
5.まとめ
複合主キーのテーブルとのリレーションシップの作成方法を記載しました。レポートでグラフを作成する時にリレーションシップの関係が存在していなければ、相互作用やスライサーの連動が使えませんがテーブルにリレーションシップ項目を作成することで可能になりますので試してみてください。
|
|
|
コメント