関数、述語、データ ソースの組み合わせによる委任の判断
委任が適用されるタイミングを判断する方法は、データ ソース自体をはじめとするさまざまな要因によって異なります。 次の表で、Microsoft Dataverse 関数とその委任サポートをご覧ください。
はい: すべてのレコードにわたる処理をデータ ソースが実行します。
いいえ: データ ソースが最初の 500 レコード (既定) のみを Power Apps に送信した後、そこで関数がローカルで処理されます。
Filter(table, field + 10 > 100)
のように算術式を使用した数値は委任できません。 Language および TimeZone は委任できません。Trim[Ends] または Len をサポートしていません。 Left、Mid、Right、Upper、Lower、Replace、Substitute などのその他の関数はサポートしています。
DateTime は委任できます。ただし、DateTime 関数 Now() と Today() は除きます。
比較をサポートしています。 たとえば、Filter(TableName, MyCol = Blank()) をサポートしています。
集計関数は、50,000 レコードのコレクションに制限されます。 必要な場合は、フィルター関数を使って大きなセットから 50,000 のレコードを選んでから集計関数を使用します。
データ ソースおよびその委任できる関数としての Dataverse の使用についての詳細は Dataverse を確認してください。
この表は、Dataverse をデータ ソースとして使用している場合にサポートされる委任できる関数のみを対象としています。 しかし、SharePoint または SQL をはじめとする異なるデータ ソースを使用している場合は、どうすればよいでしょうか。
その他のデータ ソース: SharePoint および SQL
データ ソースとして SharePoint または SQL を使用する場合、関連ドキュメントを参照して、サポートされている委任できる関数を確認することが重要です。 前述のように、各データ ソースには、委任できる関数と委任できない関数の独自のセットがあります。
アプリの作成を始める前に、データ ソース間におけるこれらの違いを調べることを強くお勧めします。 機能と制限事前を事前に理解するのに役立ちます。 Power Apps プロジェクトごとに固有のビジネス ニーズがあるため、選択したデータ ソースにより、それらのニーズと、データ ボリュームに必要な機能がサポートされていることを確認することが重要です。
また、Filter または LookUp 関数を使用する場合、述語も使用します。 述語によって式を評価できます。 関数 FirstName = "Rob"
では、= 述語を使用します。 一部のデータ ソースでは、特定の述語がサポートされていません。 たとえば、Salesforce では述語 IsBlank がサポートされていません。 したがって、式 Filter(SalesforceCustomers, Name = "Contoso")
は委任可能ですが、Filter(SalesforceCustomers, IsBlank(Name))
は委任できません。
列タイプも要因の 1 つ
列タイプは、委任できるかどうかに大きな影響を及ぼします。 SharePoint ルックアップ列などの複雑な列は、委任に適していません。 ロジックが複雑なため、Power Apps はそれらの列をローカルでのみ処理できます。
助けになるものはないのでしょうか。 Power Apps がついています。 これらの問題に関して視覚的な警告を生成します。 アプリ内の数式を強調表示する、青い下線を想像してください。これがしるしとなります。 これは、一部のレコードを取得できない原因となる可能性のある委任の問題を示しています。 修正すると、アプリがシームレスに実行されます。
次のセクションでは、委任の警告、制限、および委任の問題が発生した場合にそれらを回避する方法について説明します。