Power Apps データ検索で知っておくべき委任検索の仕様と問題点

PowerApps
この記事は約3分で読めます。

こんにちは!新井です!
今回はPower Appsでデータ検索を実装する際、避けては通れない「委任検索」とは何かと、その問題点について解説します。

本記事でわかること

  • 委任検索とは何か
  • 「委任に関する警告」とは何か
  • 非委任検索の問題点

委任検索とは?

まずは、委任検索とは何かについて説明します。
委任検索とは、「検索処理を検索先に依頼する処理」です。

Power Appsにて検索処理を実装した際、実はPower Appsでは検索処理は実施していません。
Power Appsから検索対象のシステムに対し、検索処理をお願い(委任)して、検索結果を返してもらいます。
これが、「委任検索」です。

例えば、
・ SharePointよりデータを取得する際は、SharePoint側に検索条件を渡して検索してもらう
・ データべースよりデータを取得する際は、データベース側に検索条件を渡し検索してもらう
といった形です。

委任検索で気を付けるべき点

委任検索は検索対象システムに検索処理をお願い(委任)する処理だと説明をおこないました。
ただ、Power Appsで記載したすべての検索処理を委任検索で処理することはできず、一部委任不可能な検索処理も存在します。
このような委任が不可能な検索処理を実装した際は「委任に関する警告です」という警告文が表示されます。
この警告が表示された場合は注意が必要です。
対象の検索処理は委任検索が実施できないため、Power Apps側で検索処理を行います。

Power Apps側でも検索できるのなら問題ないのでは?と思われるかもしれませんが、Power Appsには「レコード数上限」という設定が存在します。

レコード数上限とは?

「レコード数上限」は、一度の検索で取得できるレコード数の上限となっており、デフォルトでは500件、最大では2000件まで設定が可能となっています。
上限を無くす、といった設定は不可能のため、検索処理の際はこのレコード数上限のデータしか取得できない点に注意する必要があります。

委任検索とレコード数上限による問題

Power Appsにはレコード数上限という設定があると説明を行いました。
このレコード数上限と、委任検索が組み合わさることで、ある大きな問題が発生します。

それが、レコード数上限以上のデータがあるテーブルに検索を行った場合、検索前にデータが切り捨てられてしまう問題です。
例として、5000件のデータがあるテーブルに対して、レコード数上限500件で検索処理を行った際の、委任検索と非委任検索(Power Apps側検索)の処理の違いは以下のようになります。

委任検索

データベース側にて検索処理を実施、データベース側検索結果より、上位500件を検索結果として取得

非委任検索

データベース側より上位500件を取得、取得した500件に対してPower Apps側にて検索条件を適用、検索条件に一致したデータを検索結果として取得

委任検索はデータ全体に対して検索を行ったうえで、上位500件のデータを取得しているのに対し、
非委任検索の場合は、最初に取得した上位データ500件に対してのみ検索が行われ、その他4500件は検索前から切り捨てられていることがわかります。
非委任検索では、検索前にデータが切り捨てられているため、目的のデータを取得できないパターンがあることがご理解いただけたかと思います。

まとめ

今回は、Power Appsの「委任検索」とその問題点について解説を実施しました。
Power Appsにて検索処理を実施される際は、できる限り非委任検索とならないよう気を付けましょう。
この記事が少しでも参考になりましたら幸いです。

Google および Google Cloud Platform™ service は Google LLC の商標であり、この記事は Google によって承認されたり、Google と提携したりするものではありません。

コメント

タイトルとURLをコピーしました