この記事ではPBI上で既存のクエリ、テーブルからマスタを作成する方法について紹介していきます。
- テーブルは読み込んだけど手元にマスタを作っていない
- 定期的に新製品などが追加されるのでいちいちマスタの修正をしたくない
といった悩みをPower BIのSUMMARIZE関数やPower Query側の「重複の削除」機能を使ったマスタの作成で解消していきます。
そもそもマスタとは?という方はこちらの記事を参照してください
それでは以下で解説していきます。
結論
- Power BI側ではSUMMARAIZE関数を使用して、マスタとして使用したい情報を重複なしで抽出して新たなテーブルを作成
- Power Query側では重複の削除を使って一意のマスタを作成
Power BI側でSUMMARIZE関数を使用したマスタの作成
今回は前回の記事で使用したパソコン販売実績を備品販売実績に追加したクエリからSUMARIZE関数を使用してマスタを作成していきます。
1.Power BIのデータのテーブルツールの新しいテーブルを選択
2.テーブルを定義する式を入力します。
今回は品目名のマスタを作成するので名前は「品目マスタ」で以下の式を書きます。
重複の無い機種名が含まれるテーブルが作成されました。
これで品目マスタの完成です。SUMMARAIZE関数は指定した列 (複数も可)について重複が無いように値を返します。
しかし、複数の列名にすると、A列とB列で構成される1行の重複が無いように抽出されえるため、それぞれの列が一意でなくなる場合があります。 先ほどの例で「機種名」と「個数」の列を選択すると以下のようになります。
このように「機種」キーボードの「個数」18の行は一つになるように抽出されますが、機種、個数ともに一位の列ではなくなってしまいます。
そのため、マスタを作成する場合は可能な限り一つの列名を選択する事をおすすめします。
Power Query側で重複の削除を使ったマスタの作成
Power Query側での作成についてもパソコン販売実績と備品販売実績で作成した追加1のクエリを使って作成します。こちらも機種のマスタを作成します。
1.機種の列名上で右クリックして重複の削除を選択
機種の重複が削除され、一意の値のみが残りました。
Power Query側での品目マスタの作成は完了です。Power BI側よりも簡単ですね。 重複の削除で残る行の処理手順ですが、
日付列→テーブルの最も左の列→次の列の順に参照され、最初の値が残されます。
そのため意図的に残したい行を指定する場合は昇順で最初に来るようにする工夫が必要です。
まとめ
Power BI、Power Query側に関わらず、既存のテーブル、クエリからマスタを作成する方法は非常に簡単です。どちらも注意点はありますが、単一の列を抽出するようにすれば基本的に問題ありません。
SUMMARAIZE関数はマスタの作成以外にもDAX関数を使用する上で非常に重要な関数です。
どのような仕組みでデータが抽出されるのかポイントを押さえてください!
独学での学習が厳しい場合はUdemyなどのオンライン学習も有効です。
初心者が1時間以上悩む部分でも経験者が見ると一瞬で解決できる事も多いのでぜひ一度オンライン学習もお試しください!
コメントを残す