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行しか読み込むことができないのか確認します。
下記のように、「テーブルとして書式設定」で300行のデータを持つExcelファイルを用意し、この表を読み込むサンプルフローを作成・テストします。

サンプルフローは下記のようにしております。シンプルに「表の読み込み」「読み込んだ文繰り返し、整数の変数に1ずつ加算」「最後に変数を確認」だけです。
実行結果画面を確認すると下記のように表示されており、256行のデータしか読み込めないということがわかります。


256行より多く読み込む方法

上記のテストにより通常の読み込みを行うと256件のデータしか読み込めないので、工夫をして全データを読み込むようにしたいと思います。
残念ながら256件の上限を変えることはできないのですが、「表内に存在する行を一覧表示」の詳細オプションのスキップ数を活用することで256件以上のデータを取得できるようにします。

スキップ数を指定することで、読み込むデータをその数値分飛ばしてから読み込みを開始します。つまり「100」を選択すると、1~100のデータが飛ばされ 101~356のデータが読み込まれるようになります。
1つあたりのステップで取得できる上限は256で変わりませんが、「表内に存在する行を一覧表示」を複数使用して全件データを取得するようにします。その工夫を入れたフローは下記になります。その分Apply to eachのステップも増えるんですけどね。。
このフローで再度テストを行うと下記のように表示され、用意したデータ300件分が正しく読み込めていることがわかります。
このように読み込み上限256件の制約はありますが、複数回実行することでなんとか欲しいデータ分を取得することができました。


まとめ

ということで今回は、Power Automateで読み込めるデータに上限があること、その上限を超えてデータを取得する方法をまとめました。
正直この方法はおすすめしません。データ数が最初から把握できているときしか実装できないのです。可変的にデータ煤が増えていくものに対してのフローの場合には定期的にメンテナンスしていく必要が出てきます。
こう考えるとやはりローコードには限界があるなぁと感じます。何故上限が256件なのかは知りませんが、こんなステップをいちいち作成するくらいならプログラミングでコードを書いている方が早い気がします。

とは言え、office系ソフトと親和性は高く簡単なフローならば簡単に作成できるので、256件ものデータを想定していないのかもしれないですね。
そうなれば手間をかけてステップ数を増やすだけなのかもしれないです。(イケてないですが。。)
少し短いですが、今回はこの辺で、ではまた!

コメント

このブログの人気の投稿

PowerAppsで座席表を作成する

Power AutomateでTeamsのキーワードをトリガーにする

Power Automateで文字列抽出