オフライン プロファイルを最適化する
モデル駆動型アプリのオフライン プロファイルを作成、または更新する際には、注意すべき点が多くあります。 オフライン プロファイルには、アプリのユーザーがフィールドでタスクを完了するために必要なすべてのデータを含める必要があります。 しかし、データ量が多すぎると、アプリ利用者がデータのダウンロードを長い時間帯記することになりかねません。 デバイスのスペース不足につながる場合もあります。 アプリのユーザーが持っているデバイスやデータ プランを考慮し、素晴らしい体験を提供できるようにする必要があります。
次のガイドラインは、組織の正確なニーズを満たすオフライン プロファイル作成に役立ちます。
ユーザーに大量のデータをダウンロードさせないでください
各ユーザーは、異なるデータセットにアクセスできます。 さまざまなグループのユーザーがどれだけのデータを見ることになるかを考え、テストすることが重要です。 たとえば、グループの営業マネージャーは、地域の営業マネジャーよりも多くの販売機会にアクセスできる場合があります。
オフライン プロファイルを作成し、実際のデータまたは代表的なデータを使用してテストするときは、次のベスト プラクティスを念頭に置いてください:
- パフォーマンスを向上させるには、レコード数を 200,000 未満に制限します。 3,000,000 を超えるレコードは、オフライン同期ではサポートされません。
- テーブルの数を 100 未満に制限します。
- 合計データサイズを 1 GB 未満に制限します。
- ファイルと画像の合計サイズを 4GB 未満に制限します。 フィルタを適用して、ダウンロードの合計サイズを減らします。
- ステータス、グループ、地域、所有者、割り当て先などのフィールドでフィルタリングすることで、頻繁に変更されるテーブルにダウンロードされるレコードの数を減らします。
アプリのオフライン データがこれらの推奨値を超えると、同期が遅くなり、データ使用量やバッテリー使用量が増加し、アプリのパフォーマンスが低下します。
オフラインのプロフィールを最適化する
以下のベスト プラクティスを適用して、ユーザーが必要なデータのみをダウンロードするようにしてください。 ダウンロードするデータを最適化することで、推奨される制限内に収めやすくなります。
作業を一からやり直すことを避ける
Field Service、または Sales をカスタマイズする場合は、既定のオフライン プロファイルから開始します。 コアな機能が使えることはもちろん、標準的なフォームで使われているテーブルを見逃すこともありません。
既定のオフラインプロファイルには、既成のソリューションに必要なものがすべて含まれています。 ビジネスにとって重要なテーブルをさらに追加できます。
ただし、 デフォルト プロファイルからテーブルを削除しないでください 。 これらのテーブルがないと、フォームやビューの実行時に失敗する可能性があります。 既定のプロファイルに含まれるデータ行数が多すぎる、または少なすぎる場合は、最大テーブルのフィルタを調整して、ユーザーのデータサイズを最適化します。
各フォームで参照されているすべてのテーブルを追加し、アプリで表示します
モデル駆動型アプリにフォーム、またはビューを追加するときは、ルックアップを含む他のテーブルへの参照を探します。 これらの各テーブルが、対応する関連テーブルやフィルターとともにオフライン プロファイルに含まれていることを確認してください。 Web リソース スクリプトで使用されるすべてのテーブルも必ず追加してください。
オフライン プロファイルにテーブルを追加する際、どの行をダウンロードするかを 4 つのオプションから 1 つ選択することができます。
- 組織の行
- すべての行
- 関連する行のみ
- カスタム
それぞれのテーブルに最適なオプションを選ぶには、おテーブルが以下のどのカテゴリーに属するかを考慮してください:
スタンドアロン テーブル: 連絡先など、アプリ内でグリッドとして表示されるテーブル。
関連テーブル: Unitなどの別のテーブルのフォームまたは グリッド ビューで参照されるテーブル。
リソース テーブル: 通貨や地域などのリソース データが含まれるテーブル。
追加するテーブルのカテゴリに基づいて行オプションを選択します:
テーブルの種類 | 組織の行 | すべての行 | 関連する行のみ | カスタム |
---|---|---|---|---|
スタンドアロン | ✓ | ✓ | ||
関連 | ✓ | ✓ | ||
リソース | ✓ | ✓ |
フィルタを使用してデータのダウンロード サイズを減らします
ユーザーがオンライン時に大量のデータにアクセスする場合、フィルターを適用してオフライン時にダウンロードするデータを制限します。
重要
関連する行をダウンロードするように設定されているテーブルにカスタム フィルターを追加した場合、フィルターは OR として扱われます。 これは、フィルターで指定された行に加えて、関連するすべての行がダウンロードされることを意味します。 ユーザーは、意図したよりも多くのデータをダウンロードする可能性があります。 関連する行をダウンロードし、追加のフィルターを適用する場合は、関連する行のみをクリアし、AND を使ったカスタム フィルターで関連と追加の制限を指定します。
スタンドアロン テーブル: アプリの グリッド ビューに必要なレコードを含むカスタム フィルターを使用します。 既定では、アプリ デザイナーでテーブルを追加すると、すべてのビューが含まれます。 ユーザーがオンラインとオフラインで同じデータを持つようにするには、オフラインのプロファイルに含めるデータをフィルターするビューを明示的に選択します。
関連テーブル: 関連する行を かつ 他のフィルター条件に一致する行をユーザーにダウンロードさせたい場合は、カスタム フィルターを使用します。
リソース テーブル: アクティブ ステータスの行など、条件に一致する行のみをユーザーにダウンロードさせたい場合は、カスタム フィルターを使用します。
一般的なカスタム フィルター
予約やタイムライン項目などの時間中心のデータに対して、時間や日付のフィールドでフィルターします。 将来と過去の両方の日付を考慮してください。 たとえば、一般的なフィルターでは、過去 1 ヶ月と今後 3 ヶ月の予定が含まれる場合があります。
ステータスでフィルタリング して、特定のステータスの行にダウンロードを制限します。
カスタム カテゴリまたは役割フィールドでフィルターすることで、大きなテーブルをアプリに必要なデータまで縮小します。 たとえば、連絡先を役割でフィルターすることで、データを利害関係者に制限できます。
ダウンロードを遅くする可能性のあるこれらのフィルターの落とし穴を避けましょう
カスタム フィルターの結果が遅くなる場合は、Dataverse クエリ、ダウンロードに時間がかかります。 以下のベスト プラクティスに従って、一般的なパフォーマンスのボトルネックを回避してください:
部分的な文字列一致や、 含む、 で始まる、または で終わる は使用しないでください。
カスタム フィルターでリレーションシップの多層化を避けてください。 このようなフィルターを使用すると、ダウンロードが遅くなる可能性があります。
多くの OR 条件の使用は避けてください。
頻繁に変更されるテーブルのデータのダウンロードを減らすために、短い時間枠の使用は避けてください。 オフライン プロファイル内のテーブルが大きく、頻繁に変更される場合は、ステータス、グループ、地域、所有者、割り当て先などのフィールドでフィルター処理して、ダウンロードされるレコードの数を減らします。
オフライン テーブル列選択を使用してダウンロードしたデータを最適化します (プレビュー)
重要
- これはプレビュー機能です。
- プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が一足先にアクセスし、そこからフィードバックを得ることができます。
特に遠隔地にある非常に大規模なデータセットを持つ組織では、最初の同期が完了するまでに時間がかかることがあります。 オフライン テーブル列選択 (選択) を使用すると、デバイスにダウンロードする列を 選択 して、アプリで使用されない列をダウンロードしないようにすることができます。 これにより、ネットワークとディスクの使用量の両方が節約され、同期時間が短縮されます。 これは最初の同期とデルタ同期の両方に影響しますが、ダウンロードするレコードが多いため、最初の同期の影響がより大きくなります。
Power Apps Studio の左側のパネルで、選択 アプリ を選択します。
モデル駆動型アプリを選択し、 編集を選択します。
設定 を選択します。
全般 を選択します。
選択 オフライン モードとプロファイル セクションで、ドロップダウン メニューから 選択 選択したプロファイルを編集 します。
[プロファイルの編集] ペインが表示されます。 オフラインで使用するデータ セクションで、最適化するテーブルに対して、 その他のアクション (...) アイコンを 選択 して、 編集 を選択します。
アカウントの編集 ページが表示されます。 [選択した列] セクションで、 [列の管理] オプションを選択します。
[選択した列の管理] ペインで、 [選択 必要な列のみ] オプションを選択 し、必要に応じてさらに列を選択 します。
重要
アプリにカスタムJavaScriptコードがある場合は、カスタム コードで使用される列がオフライン プロファイルで選択されていることを確認してください。
戻るを選択します。
保存 を選択します。
選択 保存 + 閉じる。
閉じる で 設定 を選択し、選択 で 公開 します。
注意
- 自動生成されたオフライン プロファイルを使用するキャンバス アプリの場合、システムはデバイスにダウンロードされた列を自動的に最適化します。
- 未使用の列が多いテーブルでは列を選択することをお勧めします。
- 列の管理 オプションは、 プレビュー の Power Platform オフライン構成 では有効になっていません。
参照
- オフラインで使用するアプリを開発するためのベストプラクティス
- モデル駆動型アプリのモバイル オフラインの概要
- ベスト プラクティスと制限事項 (ビデオ を含む)
- Field Service (Dynamics 365) モバイルアプリを実装するための 5 つのヒント (ブログ)
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。