Power BIアンチ結合 一方に存在しない行のみを抽出する方法
今回はPower BIのデータ結合(ジョイン)手法の1つ、「アンチ結合」のやり方を紹介します。
これも処理内容としては地味なものですが、データ分析を進めていると高確率で使う機能なので、知っておいて損はないと思います。
まずこれを使うケースが、例えばメルマガ等の配信顧客リストから「ブラックリスト顧客(配信希望しない顧客)」を除外するケースです。
例えば下図のような全顧客の配信リスト(テスト用)があるとします。
このうちIDが5と8の顧客は、配信を希望していないので、この配信リストから取り除く必要があります。
そこで下のような配信ブラックリストを使って、このブラックリストに紐付く顧客は取り除くという処理を行います。
最終的には下図のようなリストを作りたいわけです。
これをアンチ結合と言います。
英語ではAnti Joinなので、英語で調べたい場合はこちらで検索してみて下さい。
ということで、今回はPower BI内部でアンチ結合する方法を紹介します。
Contents
アンチ結合方法
結合に必要なデータを読み込んだ後、Power Queryを起動します。
1.クエリをマージを選択する
起動したら、ホーム>結合>新規としてクエリをマージをクリックして進めます。
2.マージ方法を選択・設定する
下図のようにテーブル結合手法を選択・設定します。
選択が必要な項目は下図の通り3つです。
1.テーブルの選択
今回の結合対象となるテーブルを2つ選択します。
2.フィールドの選択
結合対象となるフィールドをそれぞれのテーブル上でクリックします。
3.結合方法
結合方法で「左反」を選択する。
※この左反という結合方法ですが、アクセスやSQLをやっている人には馴染みがあるのですが、
左側のテーブル(この場合は上のテーブル)で右側のテーブル(この場合は下のテーブル)にマッチしないデータを抽出する機能です。
下図が結果です。
ID:5、8が取り除かれた配信リストが出来上がっていますよ。
ちなみに、この手法は複数の行が含まれている場合も機能します。
例えば下図のようなデータでは、2列目(得意先ID)に5又は8が含まれている6行分を除外したいのです。
その場合も同様の手順で「左反」で得意先IDと結合すればOKです。
これは例えば取引実績データを使うケースで、
メーカーの商品マスタで販売停止になった廃盤品をごっそりと除外したいという場合に使えますよね。
以上!!
ではまた~。
コメントを残す