初心者です。どうぞよろしくお願いいたします。
繰り返し(データテーブルの各行)を行うにあたり、データテーブルのデータが1,000件あった場合に以下の様に動かしたいです。
100件繰り返し
⇒30分休憩
⇒100件繰り返し
⇒30分休憩
⇒・・・・
を1,000件終わるまで繰り返し処理を行いたいのですが、どのようにしたらいいのか分からないため、どなたか案をご教授いただけませんでしょうか?
どうぞよろしくお願いいたします ![]()
初心者です。どうぞよろしくお願いいたします。
繰り返し(データテーブルの各行)を行うにあたり、データテーブルのデータが1,000件あった場合に以下の様に動かしたいです。
100件繰り返し
⇒30分休憩
⇒100件繰り返し
⇒30分休憩
⇒・・・・
を1,000件終わるまで繰り返し処理を行いたいのですが、どのようにしたらいいのか分からないため、どなたか案をご教授いただけませんでしょうか?
どうぞよろしくお願いいたします ![]()
Hi @ayumi.ouchi
Read Range -> dataTable
Assign -> currentIndex = 0
While currentIndex < dataTable.Rows.Count
For Each row in dataTable.AsEnumerable().Skip(currentIndex).Take(100).CopyToDataTable()
//Process
Assign -> currentIndex = currentIndex + 100
If currentIndex < dataTable.Rows.Count
Delay -> 00:30:00
Hope it helps!!
Hi @ayumi.ouchi
=> Read Range Workbook
Output → dt
=> Use below syntax in Assign
Assign Activity -> counter = 0
Assign Activity -> batchSize = 100
Note: counter and batchSize variable are of DataType System.Int32
=> Use For Each row in DataTable to iterate though dt
For Each Row in dt
// Process row logic
Assign -> counter = counter + 1
If
counter >=batchSize
Then
Use Delay Activity -> 00:30:00
Assign -> counter = 0
End If
End For Each
Hope it helps!!
参考になりますが、別解です。
Chunkメソッドを使うと指定の数の束に分割してくれますので、これを使うとシンプルに記載できます。
dt.AsEnumerable.Chunk(100)
とすると複数の「100行分のDataRow 」に分割してくれます
.
いつもいつもありがとうございます
![]()
このフローが一番わかりやすいです!!
こちらも参考に作成してみます ![]()