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

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

解決策のロジック

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

スポンサーリンク

実装コード

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

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

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

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

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

スポンサーリンク