【Power Apps】2000件以上のデータを取得する方法(最大4000件)

Power Appsのコレクションには「委任制限(最大2000件)」という大きな壁があります。私自身もこの制限に悩んでいたのですが、海外の開発者である Matthew Devaney氏 が、非常にスマートな解決策を公開されていました。

参考元記事: Power Apps Get More Than 2000 Records With A Collection (Matthew Devaney氏)

解決策のロジック

データを「昇順」と「降順」でそれぞれ2000件ずつ取得し、最後にそれらを合体させて重複を排除するという方法です。

実装コード

ボタンの OnSelect プロパティに以下のコードを記述します。

Power Apps
Concurrent(
    ClearCollect(
         colNum1,
         Sort('SharePointリスト名', ID, Ascending)
     ),
     ClearCollect(
         colNum2,
         Sort('SharePointリスト名', ID, Descending)
     )
);

// 2つを統合し、重複(ID)を除外して最終的なコレクションを作成
ClearCollect(
    colMaster,
    colNum1,
    Filter(colNum2, Not(ID in colNum1.ID))
);

// 一時的なコレクションを削除してメモリを解放
Clear(colNum1);
Clear(colNum2);

多くのお困りの方にこちらの方法を知ってほしいと思ったので、こちらの方法を記載させていただきました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA