「Power Automate Desktop」のアクション「データテーブルをマージする」について、具体例をつかって解説をします。
概要
2つのデータテーブルをマージし、列が異なる場合のマージ動作を指定します。
マージモード
テーブルに同じ列が含まれない場合に適用されるマージ動作です。
「最初のデータテーブル」に「2番目のデータテーブル」の列名が含まれる場合と、含まれない場合における各項目の挙動一覧です。
「最初のデータテーブル」に「2番目のデータテーブル」の列名が含まれる場合 | 「最初のデータテーブル」に「2番目のデータテーブル」の列名が含まれない場合 | |
列を追加 | 既存列に値追加 | 列新設による値追加 |
追加した列を無視 | 既存列に値追加 | 値を追加しない |
追加した列でエラーが発生しました | 既存列に値追加 | エラー発生 |
列を追加
「最初のデータテーブル」に「2番目のデータテーブル」の列名が含まれる場合、既存の列に値を追加します。
「最初のデータテーブル」に「2番目のデータテーブル」の列名が含まれない場合、列を新設して値を追加します。
追加した列を無視
「最初のデータテーブル」に「2番目のデータテーブル」の列名が含まれる場合、既存の列に値を追加します。
「最初のデータテーブル」に「2番目のデータテーブル」の列名が含まれない場合、値を追加しません。
追加した列でエラーが発生しました
「最初のデータテーブル」に「2番目のデータテーブル」の列名が含まれる場合、既存の列に値を追加します。
「最初のデータテーブル」に「2番目のデータテーブル」の列名が含まれない場合、エラーが発生します。
データテーブルの列名がおなじ場合
結論、列名が同じであれば「マージモード」でどの項目を選択しても出力結果は同じになります。
具体例をもちいて確認をしましょう。こちらの2つのデータテーブルを使用して、それぞれのマージモードの実行結果を表示します。
なお、いずれのデータテーブルもおなじ列名(「Column1」と「Column2」)を設定しています。
列を追加
「DataTable1」に「DataTable2」の行の値が追加されていることが確認できます。
追加した列を無視
「列を追加」と同様に、こちらも「DataTable1」に「DataTable2」の行の値が追加されていることが確認できます。
追加した列でエラーが発生しました
「列を追加」「追加した列を無視」と同じ結果が出力されていることが確認できます。
データテーブルの列名がちがう場合
「マージモード」の選択項目によって、データテーブルの出力結果に違いが生じます。
具体例をもちいて出力結果を確認しましょう。今度はこちらの2つのデータテーブルを使用して、それぞれのマージモードの実行結果を表示します。
なお、「DataTable1」の「Column1」「Column2」に対して、「DataTable3」で「Column1」「Column3」を設定しています。
列を追加
「DataTable1」に設定されていない列名「Column3」が追加されていることが確認できます。ただし、「DataTable1」および「DataTable3」の共通の列名「Column1」にはおなじ列に情報が追加されています。
よって、「2番目のデータテーブル」にしか存在しない列名があった場合、「新しい列」が追加される結果になります。
追加した列を無視
「DataTable3」の列名「Column1」は列情報が追加されていますが、列名「Column3」は「新しい列」として追加されていないことが確認できます。
つまり、「DataTable1」に登録されていない列名は表示されない状態でマージされます。
追加した列でエラーが発生しました
エラーリストに「2番目のデータテーブルの列が最初の列と異なっています」という表示が出力されました。
「DataTable1」と「DataTable3」で列名が一致していない場合、マージされずにエラーリストにメッセージが表示されます。
その他の「変数」についてはこちらをご覧ください。