投稿

11月, 2021の投稿を表示しています

Power AutomateのでApplyToEachで処理速度向上

イメージ
Power AutomateのでApplyToEachで処理速度向上 Power AutomateのでApplyToEachで処理速度向上 私は Power Automate と Excel を組み合わせてフローを作成することが多いです。そのため ApplyToEach で繰り返し処理を行うのですが正直思っている以上に処理速度が遅いのです。 また、前回「 Power Automateで読み取れるExcelの上限について 」でまとめたように、読み込めるExcelのデータ数には上限があり、大量のデータを読み込んで処理するためには複数個の ApplyToEach を使います。 なので最終的に処理がすべて終わるまでにかかる時間がどんどん増えていっているのです。。。 あまりにも時間がかかっているので、今回は ApplyToEach にかかる時間の検証と、ある条件のみにはなるものの処理速度を向上させる方法を試してみたいと思います。 なおこの内容は動画にでも解説しているので参考にしてください。 通常の処理速度を検証 今回検証で使用するフローは下記になります。 そして読み込んでいるExcelファイルは前回の検証で使用した300行のデータを含むテーブルになりますが、今回はあくまで ApllyToEach の処理速度なので上限256で1ステップで検証します。 また、表の読み込みなどは数秒で終わるためフロー全体を通してかかった処理時間を比較します。 まずは、通常の実装を行った際にかかる ApplyToEach の処理時間を確認したいと思います。 3回実施した結果が下記になります。 平均すると処理時間は約 1分2秒 になります。256回の繰り返しで1分近くかかっています。。。正直遅いですね。 1000行のデータがあり、その1つ1つ処理をするとなると単純計算で4分かかります。いくら自動処理といえども4分かかるのは許容できない場

Power Automateで読み取れるExcelの上限について

イメージ
Power Automateで読み取れるExcelの上限について Power Automateで読み取れるExcelの上限について 私のブログではExcelをデータベースとしてフローを作成することが多いのですが、ある日思った通りの結果がでないことに気がつきました。よく調べてみたところ思わね罠があり、それが原因で期待した結果が取得されない状態になっていました。なので今回は私が引っかかった Power Automate の制約ついてまとめていきたいと思います。 タイトルで若干バレているかもしれないですが、なんと Power Automate で読み取れるExcelの表には上限があったのです。。。 期待したデータが出力されず、はじめはフローに問題があると思い色々ステップの改良していたのですが、やはり結果がおかしく明らかに読み込めていなデータがあるようでした。 まさかとは思いながらも、恐る恐る実行結果を確認していくと、なんと読み込んだ Excel のデータが足りていなかったのです!! Excelの表を読み込んだあとは Apply to each を使用してループさせるのですが、実行結果を確認すると下記のように表示されていました。 もちろんこの結果だけを見ても特にわからないと思いますが、注目するのはループ回数です。 256と書いてありますね!つまり 読み込んだExcelの表は256行 ということになるのです。しかし私の用意したエクセルデータは256行よりも多く、ループ回数が足りていない状態です。 ネットの記事などを確認したところ、どうやら仕様で読み込める行には上限があり、これが256行なのです。 なので、今回はほんとうに256行しか読み込めていないかの確認と、256行より多く読み込んでフローを作成する方法をまとめたいと思います。 256行しか読み込めないのか確認 本当に256行しか読み込むことができないのか確認します。 下記のように、「 テーブルとして書式設定 」