ループとデータ操作

Power Automate 入門

Anushika Agarwal

Cloud Data Engineer

Apply to each

Apply to each が順次処理される図: 上部のアイテムの配列ボックスに、色分けされた3つのピル item a(黄)、item b(青)、item c(ピンク)が入っており、矢印がラベンダー色の破線のApply to eachコンテナ(デフォルトでsequential)に向かって伸びている。コンテナ内には下矢印でつながれた3つの縦に並んだイテレーションカードがあり、それぞれIteration Nとして対応する色のピル(a、b、cの順)に一致するCurrent itemと、その下にProcess this itemの行が表示されている

 

  • 配列を1件ずつ処理します
  • アイテムごとに1回実行し、Current itemにアクセスします
  • デフォルトはSequential(順次実行)。Concurrency controlで並列処理も可能
Power Automate 入門

Current item

 

  • Current item = この回のイテレーションの値
  • ループが回るたびに値が変わります
  • Dynamic contentパネルからアクセスします

$$

注意: Current itemの代わりに配列全体を使ってしまうミスがよくあります

実際のPower AutomateのDynamic contentパネル。Compose アクションのInputsフィールドから開かれており、Compose、Manually trigger a flow(See more 19件)、Date、Full address、Country/Region、City、State、Streetのトークングループが並び、下部にApply to eachセクションがあり、Current itemの項目が赤枠で強調表示されている

Power Automate 入門

ループ前にフィルタリング

  • まずFilter Arrayを使用します

白背景のシンプルな横向きパイプライン図: 左側にFull listとして8枚のチケットタイルが積まれた列(オレンジのUrgentが3枚、グレーが5枚)、矢印が等幅フォントで表示されたitem Status is equal to Urgentという式を持つラベンダー色のFilter Arrayカードへとつながり、さらに矢印が右側のオレンジのurgentタイル3枚だけの短い列へとつながっている

Power Automate 入門

実行ごとの処理を軽減

 

Filter Arrayなし Filter Arrayあり
ループ実行回数 500回 12回
実行ごとの条件チェック 500回(アイテムごとに1回) 0回(フィルタ済み)
実行ごとのAPI呼び出し 500回 12回

 

  • Filter Arrayは1回だけ実行されます。Apply to each内のConditionは毎回実行されます
Power Automate 入門

Filter arrayアクション

 

実際のPower AutomateのFilter arrayアクションカード。パラメータパネル部分を切り取って表示しており、プレースホルダーArray to filterが入ったFromフィールドと、Choose a value、is equal to、Choose a valueの3つのサブフィールドを持つFilter Query、そしてEdit in advanced modeリンクが表示されている

 

  • From: フィルタ対象の配列
  • Filter Query: Left、Operator、Rightの1行の条件
  • Leftにitem()?['Field']を使うと、各アイテムのフィールドを読み取れます
  • Filter arrayはフィルタ後の配列であるBodyを出力します。ループで使う際はBodyを選択します
Power Automate 入門

Body Itemではなく Body

 

実際のPower Automateのdynamic-contentピッカー。Apply to eachカードの下に開いており、Filter arrayセクションに2つの出力が表示されている。緑枠で強調されたBodyと、その下に赤枠で強調されたBody Item

 

  • Apply to eachでFilter arrayの出力を使う場合はBodyを選択します
  • Bodyはフィルタ後の配列全体です。Body Itemは1件のレコードのため、ループは1回しか実行されません
Power Automate 入門

Do Until

 

  • 条件が真になるまでアクションを繰り返します
  • 配列向けではありません。配列にはApply to Eachを使用します
  • ポーリングやリトライのパターンに使用します

$$

無限ループを防ぐため、必ずカウント上限を設定してください

Do Untilループの図: ラベンダー色の破線のループコンテナにDo Untilというラベルが付き、右上に黄色のCount limit 60の安全バッジがある。コンテナ内部には上部にRun action(s)ボックスがあり、e.g. poll job statusというキャプションが付いている。下矢印がニュートラルなCondition met?のダイヤモンドにつながり、Falseの分岐は左上に曲がってRun action(s)に戻るrepeatのラベルでループし、Trueの分岐は緑のTrueラベルのexit-loopキャプションを通って下に進み、コンテナの外の緑色のContinue flowボックスへとつながっている

Power Automate 入門

データ操作

 

Operation What it does Good for
Select 各アイテムを再構成し、フィールドを選択 配列を必要な列だけに絞り込む
Join アイテム → 1つの区切り文字列に変換 メール件名用のカンマ区切りリスト
Create HTML table 配列 → メール用のHTMLに変換 メール本文の整形済みサマリー
Create CSV table 配列 → エクスポート用のCSVに変換 Excelや後続ツール向けのデータ添付

 

Select + Create HTML tableは、メール本文作成の定番の組み合わせです。

Power Automate 入門

練習しましょう!

Power Automate 入門

Preparing Video For Download...