[データテーブルを結合する]アクションを使ってみる|Power Automate for desktop|動画|Free

この記事では、[データテーブルを結合する]アクションを実際に使ってみて、どのように動作するのかを検証してみたいと思います。

以前の方法(VLOOKUPでの結合)

データテーブルの結合については、以前「Power Automate Desktop|データテーブルを結合する方法」という記事を書いています。ただ、その当時はまだ[データテーブルを結合する]アクションがなかったため、かなり複雑なテクニックを使って実現していました。

当時の実装方法

当時はどうしていたかというと、最終的には「Excel の VLOOKUP 関数」を使って結合処理を実装していました。結合専用のフローを作り、それを外部関数として呼び出すという形です。

アクション登場で改善

これからは、こんなややこしい手順を踏まなくても済みそうです。せっかくなので、以前と同じデータを使って試してみます。

使用する2つのデータテーブル

dtDetail(売上明細データ)

1つ目のデータは[dtDetail]です。こちらは[新しいデータテーブルを作成する]アクションで作成していて、売上明細のようなデータが入っています。

dtDetail の中身:

dtDetailの中身

dtMaster(顧客マスタ)

もう一つは[dtMaster]です。こちらは顧客マスタで、顧客ごとに営業担当者が登録されています。

dtMaster:

dtMaster

以下のようなフローになっています。

目標:dtDetail と dtMaster を結合する

今回やりたいのは、[dtDetail]に[dtMaster]を結合した結果を作ることです。外部キーは「顧客CD」になります。すでに下記2つのステップが作成済みなので、次に[データテーブルを結合する]アクションを追加すればよさそうです。

「データテーブルを結合する」アクションの設定

アクションを追加すると、次のような設定ダイアログが表示されます。

設定項目

項目は4つあります。

  • 最初のデータテーブル
  • 2番目のデータテーブル
  • 結合操作
  • ルールを結合する

実行すると、[JoinedDataTable]という新しいデータテーブル変数が作られる仕組みになっています。

結合操作の種類

[結合操作]を見ると「内部」「左」「完全」の3種類が選べます。「右」はないので、いわゆる Right Join はできないようです。「内部」は Inner Join、「完全」は完全外部結合のことだと思います。両方のテーブルの全データを使って、結合できるところは結合するという動きですね。ただ、私自身はあまり使う機会はありません。

今回は「内部」でも「左」でも同じ結果になるため、とりあえず「内部結合」で進めてみます。別の機会に「左結合」で一致しない行がどう扱われるかも検証してみたいと思います。

というわけで、以下のように設定します。

結合ルールの設定方法

キー列の設定

[ルールを結合する]の設定は[編集]ボタンから行います。[dtDetail]と[dtMaster]は「顧客CD」をキーに結合するため、下図のように設定すれば問題ありません。設定すると、「INNER JOIN ON [顧客CD]=[顧客CD]」という文が表示されます。SQL が書ける方ならすぐ意味がわかる内容ですね。

実行結果を確認する

では実行してみます。処理が完了すると、データテーブル[JoinedDataTable]には次のようなデータが入ります。

しっかり結合(Join)されていますね!
以前「Power Automate Desktop|データテーブルを結合する方法」で作ったときは本当に手間がかかったのですが、アクション1つで済むのはありがたいです。

今後は実行速度や件数上限など、確認したいこともあります。本番のデータ変換で使う場合、数万〜数十万件というのはよくある話ですからね。もっとも、Power Automate for desktop は大規模なデータ変換向けのツールではないので、数百件単位で動けば業務としては十分ではあります。ただ、実験としては試しておきたいので、そのあたりはまた別の機会に検証してみようと思います。

それでは、またお会いしましょう。

動画も作成したので、こちらもどうぞ!(完全自動化研究所チャンネルより)

コメント ログインすると書き込めます