Copilot Studioでテーブルデータに対して繰り返し処理を行いたい、と思ったことはありませんか?Power AutomateではApply to Eachがおなじみですが、実はCopilot Studioのトピック内でも同様のループ処理を実現することが可能です。

今回は、Copilot Studioでテーブル型の変数を作成し、それを使ってApply to Eachのような繰り返し処理を実装する手順をご紹介します。
テーブル型の変数を準備する
まずは繰り返し処理の対象となるデータを用意します。トピック内でテーブル型の変数を作成しましょう。

変数の名前は分かりやすくするために、ここではvarTableという名前にします。設定する値には、テーブルのデータを適当にセットしてください。
この部分はPower Fx、つまりPower Appsと同じような式を書くことができるので、今回の例以外にもいろんな値を持ったテーブルを作ることが可能です。

["item1","item2"]
繰り返し処理(ループ)を設定する
テーブル変数の準備ができたら、いよいよApply to Eachにあたるループ処理を設定していきます。
変数の管理からリストの管理を開くと、繰り返し処理をするための「リスト全体をループする」ノードが見つかります。このノードのループする項目に対して、先ほど作成したvarTableを設定しましょう。


繰り返し処理を追加すると、その下に点線が表示されます。この点線の中に配置した処理を、エージェントが繰り返し実行するようになります。

試しに、質問のメッセージに繰り返した回数とその時のテーブルの値を表示するように設定してみます。
{Topic.LoopIndex1} 回目 {Topic.LoopValue1} です
動作を確認してみる
では、トピックを保存して、実際に動作を確認してみましょう。
今回は挨拶トピックに作成したので、テストチャットから「おはよう」とメッセージしてみます。すると、質問ノードが表示されるので、適当にテキストで回答を返すと、もう一度質問が表示されます。

そして、2回繰り返した後にトピックが終了していることが確認できます。きちんとテーブルの要素数に応じたループ処理が動いていますね。
テーブル以外のデータで繰り返したい場合
テーブルデータの場合は、今回のようにApply to Eachで繰り返し処理を実装できます。一方、テーブル以外のデータで繰り返し処理を行いたい場合は、トピックの移動などを利用して実現する形になります。
Power Apps学習の決定版!コントロール別YouTube再生リスト完全ガイド
Power Appsを学習していて「どのコントロールをどう使えばいいのかわからない」「実際の使い方を動画で見ながら覚えたい」と思ったことはありませんか?
実践的な知識を効率よく身につけられるよう、現在公開している動画を整理したYouTube再生リスト集をご紹介します。



コメント