技術情報ブログ
Power Platform
2022.10.12

Power Apps:結局「委任に関する警告」ってなに?

Power Apps:結局「委任に関する警告」ってなに?
小刀稱知哉

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

Power Appsでアプリを作成する際、「委任に関する警告」が表示されたことはありますか?
委任問題は、Power Appsを理解する際の1つの大きな壁だと思います。

委任問題の回避策などは、他の方のすごくわかりやすい記事が多くありますので、 今回は、「そもそも委任問題って何なのか?」という部分についてわかりやすく説明してみたいと思います。

内容としては、Power Appsでアプリを作成している方に向けた記事です。

 

登場人物

最初に、今回の記事で登場する各人物について説明します。
(今回は擬人化して説明してみようと思います。(笑))

今回はSharePoint君Power Apps君の2人の人物が登場します。

※Dataverseを用いる場合は、「SharePoint君」を「Dataverse君」と読み替えてください。

PowerAppsとSharePoint
登場人物の紹介

 

Power Appsにおける委任とは

最初に、Power Appsにおける委任について説明します。

委任という言葉自体は「誰か誰か何かを任せる」という意味です。

Power Appsにおける委任とは、簡単に言うと「Power Apps が SharePoint に 検索 を任せること」ということです。

実はPower Appsは自分で検索を行わず、SharePointに検索条件を伝え、SharePointが検索を実行し(=検索を委任する)、その結果をPower Appsに返すという処理を行っています。

検索の委任 検索の委任
検索の委任

 

委任に関する警告とは

ところで、Power Appsでアプリを作成している際、「委任に関する警告」が表示されたことはありませんか?

委任に関する警告
委任に関する警告

前項で説明したとおり、基本的にPower AppsはSharePointに検索を依頼(=委任)しています。
ただし、SharePointはデータを溜めることは得意ですが、検索を行うことはあまり得意ではありません。

よって、Power Appsが難しい検索条件を伝えると、SharePointでは対応出来ないことがあります。
この場合、SharePoint側では対応出来ないため、全データをPower Appsに渡し、Power Apps側で検索するという挙動になります。

※「難しい検索条件」とは、具体的に言うと「委任できない関数」のことを示します。
委任できるかどうかは関数やデータベースの種類(SharePoint or Dataverse)によって異なります。

詳細については、以下URLをご参照ください。
キャンバス アプリでの委任について

ただし、そこで問題になるのが、「Power AppsがSharePointからと受け取ることができる最大のレコード数が2,000件」という事実です。(2023年12月時点)

上記の設定値は、Power Appsのファイル設定全般データ行の制限から確認することが出来ます。

※デフォルト値は500であり、最大値は2,000です。

データ行の制限]
データ行の制限]

SharePointから全データを渡されても、Power Appsは2,000件以上は受け取れないため、
全データが2,000件より多い かつ 委任出来ない関数を使う場合、本当は10,000件の中から100件を検索する予定が、実際は先頭2,000件の中から検索することになるため、検索結果が想定より少ない値となるということが、俗に言う「委任問題」となります。

そして「委任に関する警告」とは、SharePointから渡されたデータが全データ(最大2,000件)かどうかわからない状態のことを指します。

検索の委任 委任問題と委任に関する警告
委任問題と委任に関する警告

これはあくまで警告であり、エラーではありません。
対象のデータが2,000件以内であることが明確な場合は、委任できるorできないは関係ないので、警告が出たとしても無視していいということになります。

 

補足:ギャラリー コントロールの場合

先程Power Apps側では、最大2,000件までのデータしか取得出来ないとお伝えしました。 ただしこれには例外があり、「委任できる関数 かつ ギャラリー コントロール」の場合は2,000件以上取得可能です。

これはギャラリー コントロールが、画面上に表示されている分のデータを都度取得しているからです。
(1回あたりの取得件数は2,000件以内であり、ギャラリーをスクロールする度に都度データを取得)

 

おわりに

いかがでしたでしょうか。

委任に関する話は調べれば調べるほどドツボにハマってしまいます。(実際私がそうでした、、、)
当時の自分に説明するならこんな感じかなと思いながら、今回の記事を作成してみました(笑)

Power Appsでアプリを作成する際、今回の内容が少しでもお役に立てますと幸いです!

 

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

小刀稱知哉

大分県出身(温泉大好き♥♥)、現在は東京都在住

1990年4月9日生まれ

30才にしてメーカーの技術営業からIT業界にジョブチェンジ!!!

趣味は読書

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!

シェアする
記事カテゴリ
最新記事
2024.04.17

Power Apps・Power Automateの勉強方法(1)

2024.04.03

非エンジニア【(元)自治体職員】が半年間ローコード開発をしてみたら

2024.03.27

Power Automateのベストプラクティス・アンチパターン(5)【Apply to each×コンカレンシー×変数の設定はNG】

2024.03.20

Power Apps×Teams:Teams上からPower Appsを実行する方法

2024.03.13

Power Apps:SharePointリストと連携したカレンダーアプリを自作してみよう

モデル駆動型アプリPower AppsPower PlatformSharePointExcelPower AutomateC#attributevalidationローコードAngularAccessInfoPathMatTableAngular Materialデータ構造SortByColumns関数TypeScriptHTMLEF CoreマイグレーションFramework CoreAttribute directivesO/Rマッパーazure sql databaseCase式HTTP RequestCSSxUnit.Net Core 3.1VSCode.Net Core Test ExplorerDataverse for Teamsitem関数Google MapsMarker ClustererRANK()関数Dynamics 365 SalesMicrosoft TranslatorマーカークラスタリングライブラリtailwindcssマルチテナントドロップダウンメニューBreakpointObserverメディアクエリスマホPCレスポンシブ入門初心者中級者キャンバスアプリDatePickerDropdownviewビューアクセス制限承認リマインドSetForAllUpdateContextロードマップ技術It情報技術メッセージIDメールfirst()関数nest入れ子動的リストcollectionコレクション複数の添付ファイル承認フローformエクスポートインポートカスタマイズcomponentダイアログコンポーネントdialogTips新機能変数検索Microsoft 365グループセキュリティグループ送信元メールの送信差出人インスタントクラウドフロー自動化したクラウドフロー委任VBAエラーエクセルerror復元restorePower BI個人列ユーザー列SharePoint Onlineリスト非表示アプリ[市民開発者構築自動化したクラウド フローフローの種類インスタント クラウド フロースケジュール済みクラウド フローレスポンシブ レイアウトresponsive layoutデータ行の制限引き継ぎ退職所有者を変更異動LoopMicrosoftdesignJSONデザインtemplateテンプレート運用選択肢列参照列ChatGPTOpenAIオープンAIチャットGPTgalleryギャラリースクロールコンテナショートカットキーshortcut keyconcat関数文字制限フロー実行開発環境環境本番環境ライセンス環境構築手順pipelineCI/CDパイプラインDevOpsMicrosoft 365簡易在庫管理時間外通知ファイルフィルター クエリドキュメント ライブラリfilter querysortソートmultiple item複数項目シェアポイント便利機能カレンダーCalendarTeamsローコード開発非エンジニア体験談勉強内製化
PageTop
ページトップに戻る