Power Appsを勉強すると突然出てくる「委任」という言葉があります。
これはデータのフィルターや検索、集計操作をアプリで行わず、データソース側で行うことを言います。
Power Appsはモバイル端末で利用することも考慮されているため、大量のデータ通信を行わないようアプリ内に取得されるレコードの数を既定で500(最大2000まで変更可能)としています。
委任を利用することで、アプリ内で処理できるレコード数を超えた大量のデータが含まれるデータソースを扱うことができます。
委任可能なデータソースは決まっており、またサポートされる関数もデータソースによって異なります。
下記の表は、SharePointリストで委任できる関数の一部です。
SharePoint 委任可否 | SharePoint委任可否 | ||
Filter | ○ | Not | × |
Search | × | IsBlank | × |
LookUp | ○ | TrimEnds | × |
Sort | ○ | Len | × |
SortByColumns | ○ | And, Or | ○ |
Sum | × | &&, || | ○ |
Average | × | In | × |
Min | × | StartsWith | ○ |
Max | × | !, Not | × |
委任をサポートする関数はデータソースによって異なります。
詳しく知りたい方はMicrosoft Docsに詳しく書かれていますので、参照ください。
Apps内で委任をサポートされていない関数を使用すると、三角の黄色いびっくりマークが付きます。
アプリで扱える規定のレコード数(既定値500、2000まで変更可能)に依存し、最初の既定値数のみがアプリに返されます。
Filter関数を利用した場合、条件に一致する既定値数ではなく、データソース内の最初の規定数分のデータとなります。その既定値数の中でアプリ内で実行されるFilter関数に当てはまる件数のみが、ギャラリーなどのコントロールに表示されます。
Excelは委任に対応したデータソースではないため、大量のデータが含まれている場合は最初の500~2000件がアプリで扱えるデータとなります。
数式内の関数はデータソース側で実行され、必要な結果がアプリに返されます。
必要なデータのみ絞り込みを行うため、アプリの応答速度といったパフォーマンスを考慮したアプリ設計が可能です。
レコード数を絞り込むことでアプリ内の動作を削減できるため、モバイル端末でもストレス少なく利用できるアプリが作成できます。
(Filter関数、Lookup関数は委任可能)
アプリ内で処理できるレコード数の既定値は500で、最大2000まで変更可能です。
[ファイル]⇒[設定]⇒[全般]から変更できます。この設定はアプリ単位で行えます。
ただし、委任できるデータ数が増えれば増えるほど、処理時間はかかります。