Skip to content

リストの各項目を処理する ​

テーブルのレコード、CSV の行、API から取得した注文など、ステップがリストを返すときは、ループ で項目ごとに同じステップを実行します。このガイドでは注文のリストをループで 1 件ずつ処理します。

1. ループを追加する ​

  1. リストを返すステップの後で ステップを追加 をクリックし、組み込み を開いて ループ を選び、アイテムループ を選びます。
  2. 値 にリストを設定します。$ を入力し、前のステップのリストを持つフィールド(例: トリガーの orders)を選びます。リストがリストのまま渡るよう、項目にはほかに何も書かないでください。
  3. 最大反復回数 は 1000 のままにするか、処理する件数の上限を下げたいときは小さくします。
アイテムループの設定。値にトリガーの orders リストへの参照、最大反復回数 1000、スペースを削除がオン

2. 繰り返すステップを追加する ​

キャンバスでは、ループは枠として表示されます。枠の中 に追加したステップは項目ごとに 1 回ずつ実行され、枠の下 に追加したステップは全項目の処理が終わった後に 1 回だけ実行されます。

ループのステップが枠として表示され、その中にパスのステップと 3 つの分岐があり、それぞれにコードのステップが続いている

枠の中の + をクリックして、繰り返す最初のステップを追加します。

3. 現在の項目を使う ​

ループの中では、処理中の項目をループステップから読みます。$ の一覧でループステップを開きます。

ループのステップを展開したデータ選択画面。Current Index と Current Item が表示されている
選ぶもの得られる値
Current Item(currentItem)処理中の項目。フィールド名を付けると、その項目のフィールドになります(例: currentItem.email)。
Current Index(currentIndex)項目の位置(0 から)。

たとえば顧客ごとにメールを送るには、メール送信ステップの宛先に ループ.currentItem.email を設定します。

すべての項目の結果を集める ​

ループの各回は前回の出力を上書きするため、全項目の結果を残したいときは処理しながら保存します。

  1. ループの中に 変数 › リストに値を追加 を追加し、スコープ種別 を フロー内 に、キーを results などに、値に残したい内容を設定します。
  2. ループの下に、同じキーで 変数 › 値の取得 を追加します。その出力 value が全件のリストです。

フロー内 の値は実行が終わると消えるため、実行どうしで混ざることはありません。

途中で抜ける ​

探しているものが見つかったときなど、最後まで待たずにループを抜けるには、ループの中(通常は パス の分岐)に 停止 のステップを追加します。フローはループの下の最初のステップから続きます。

知っておきたいこと ​

  • 空のリスト: リストが空なら、ループの中のステップは実行されず、ループの下に進みます。
  • 長いリスト: 最大反復回数 に達すると、エラーにならずにループが終わり、残りの項目は処理されません。件数が重要なら $count(...) で確認してください。
  • ループの中にループは置けません: ループの中ではピッカーにループが表示されません。内側の処理は サブフロー に移し、ループから呼び出してください。
  • 失敗する項目: 既定では、ステップが失敗すると実行全体が止まります。問題のある項目を飛ばして続けるには、そのステップの エラーハンドリング を フローを続行 にします。

ほかの種類のループ ​

アクション繰り返す対象現在の値
数値ループ開始 から 終了(含む)まで、ステップ ずつ増える数値。1 から 5 なら 5 回。currentValue
テキストループ区切り文字 で分けたテキストの各部分。currentPart

関連ページ ​