
データテーブルに列を追加するにはどうすればいい?
という疑問に答えて、Power Automate for desktopでデータテーブルに列を追加する方法をサンプルフローを使って解説します。
結構問い合わせのある内容ですね、これは。具体的な例を挙げながら考えていこうと思います。
下図のようなCSVファイルを読み込んで、データテーブルを作成します。この「SalesDetailData.csv」は675行あるので、[For each]アクションを使ってグリグリ操作するとなると、少し負荷があります。サンプルとしては軽すぎず、重すぎず、というところでしょう(10万件とかになると別次元になるので、この記事では触れません。データベースを使うべきでしょう)。

「SalesDetailData.csv」を使ったフローの概要を下に示します。「SalesDetailData.csv」からデータを取得し、データテーブル[CSVTable]に格納します。データテーブル[CSVTable]の最後の列の後に、[新しい列]という名前の新しい列を追加します。新しい列には値を書き込みます。

下図が列が追加されたデータテーブル[CSVTable]のイメージです。新しい列に「●」というテキストを書き込む条件は、列[SalesAmount]が1,000以下であることです。

Power Automate for desktopにはデータテーブルを操作するアクションが用意されていますが、列を追加するアクションは存在しません。UiPathと比べてデータテーブル関連が充実しているとは言えません。

この場合、3つの選択肢が考えられます。
それぞれの方法でフローを作ってみようと思います。どれも正解というわけではないし、他にも方法は考えられるので、参考程度にしてください。もっと良い方法があれば、コメントで教えてくれれば幸いです。
データテーブルやリストを駆使して何とかする

データテーブルやリストを駆使して何とかする方法を考えていきましょう。以下のようなフローが考えられます。

上記フローを解説します。最初にCSVファイルから取得したデータをデータテーブル[CSVTable]に格納します。次に新しいデータテーブル[NewTable]を作成します。データテーブル[NewTable]はデータテーブル[CSVTable]の全フィールド+[新しい列]を持っています。
データテーブル[NewTable]の型が出来上がったら、データテーブル[CSVTable]の件数分ループしながら、データテーブル[NewTable]に列を追加していきます。このループ中に[新しい列]に、値も入れていきます。
最後にデータテーブル[NewTable]をデータテーブル[CSVTable]に上書きします。これでデータテーブル[CSVTable]に列が追加されたように見える、というわけです。かなり手間がかかりますね…。
フローを解説
では、上記フロー図をPower Automate for desktopのフローで作った場合を見ていきましょう。

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