Power Automate 「chunk」関数(コレクション関数)
chunk関数は、1つの配列(アレイ)を、大きさの等しい複数の配列(アレイ)に分割します。
chunk関数には同名の文字列関数が存在します。そちらは1つのテキストを、大きさの等しい複数のテキストに分割します。
仕様
chunk('<collection>', '<length>')
| 引数 | 省略時の値 | 説明 |
|---|---|---|
| collection | 省略不可 | 分割する配列(アレイ)を指定します。 |
| length | 省略不可 | 分割の大きさを指定します。 |
利用方法
多くの場合、種類が「アレイ」の変数の初期化か設定の際の「値」の中で利用されます。


「式」タブ、chunkをクリックすると関数名と()が数式欄にセットされます。


引数を設定後、「OK」ボタンを押し、
次のような表示になれば設定完了です。
この紫のアイコンをクリックすると関数を変更可能です。


動的なコンテンツや変数を利用する場合は特殊な指定を行います。
引数と結果の例
例えば、9つの要素を持つ配列(アレイ)を用意します。変数名は「srcArray」です。
[1,2,3,4,5,6,7,8,9]


「srcArray」を長さ3で分割します。
chunk(variables('srcArray'),3)


結果は配列(アレイ)の中に配列(アレイ)を持つ、二次元配列になります。
[ [1,2,3] , [4,5,6] , [7,8,9] ]
「length」は「collection」の要素数で割り切れる必要はありません。
要素数が9個の「srcArray」を長さ5で分割することも可能です。
chunk(variables('srcArray'),5)
結果は、次のような配列(アレイ)になります。最後の要素数は途中で切れて4になります。
[ [1,2,3,4,5] , [6,7,8,9] ]
結果の利用方法
この関数の結果は配列(アレイ)の中に配列(アレイ)を持つ、二次元配列になります。
例えば変数名を「dstArray」とします。


「dstArray」に設定される結果は次の通りです。
[ [1,2,3] , [4,5,6] , [7,8,9] ]
この「dstArray」を「Apply to each」の「以前の手順から出力を選択」に設定します。
「Apply to each」は名前を変更しておくと扱いやすいです。


今回の例では、最初の「Apply to each」は、3回繰り返します。(分割後の配列を繰り返します)
動的なコンテンツの「現在のアイテム」は、次のようになります。
- [1,2,3]
- [4,5,6]
- [7,8,9]
「Apply to each」の中に、「Apply to each」を追加します。
2つめの「以前の手順から出力を選択」には、1つめの「Apply to each」の「現在のアイテム」を設定します。


これで個々の要素まで繰り返します。
1つめの「Apply to each」の「現在のアイテム」は現在、繰り返しの対象になっている配列(アレイ)になります。
2つめの「Apply to each」の「現在のアイテム」は個々の要素になります。


当サイトの情報を再編集した実務リファレンス
ネット検索では解決しづらい「日付の変換」や「複雑なデータ処理」など、当サイトで公開している技術情報を電子書籍として読みやすく再編集しました。
400以上のコネクタや関数の仕様を網羅的に解説しており、困ったときにすぐ引ける「辞書」として活用いただけます。
現場でのトラブルシューティングや、手元での確認用に最適です。Kindle Unlimited対象(読み放題)です。


[書籍リンク:Power Automate (Web版)完全版 基本から実用まで]