优化离线配置文件

在为模型驱动应用创建或更新离线配置文件时,需要牢记很多事项。 离线配置文件应包含应用用户完成现场任务所需的所有数据。 但是,如果它包含太多数据,应用用户可能会在等待数据下载时陷入困境。 他们甚至可能会用完设备上的空间。 您需要考虑您的应用用户必须使用的设备和数据计划,以确保他们获得出色的体验。

以下指南将帮助您创建满足组织确切需求的离线配置文件。

不要让用户下载过太多数据

每个用户都可以访问不同的数据集。 考虑和测试不同的用户组会看到多少数据很重要。 例如,集团销售经理可能比本地销售经理接触到多出很多的销售机会。

在开发离线配置文件并使用真实或代表性数据进行测试时,请牢记以下最佳实践:

  • 将记录数量限制为少于 200,000 条以获得更好的性能。 离线同步不支持超过 3,000,000 条记录。
  • 将表的数量限制为 100 个以下。
  • 将数据总大小限制为 1 GB 以下。
  • 将文件和图像的总大小限制在 4 GB 以下。 应用筛选器以减小总下载大小。
  • 通过筛选状态、组、区域、所有者或分配给的字段,减少在频繁更改的表中下载的记录数。

如果您的应用的离线数据超出了这些建议,用户将看到同步速度变慢、数据使用量增加、电池使用量增加以及应用性能变慢。

优化您的离线配置文件

应用以下最佳实践以确保用户只下载他们需要的数据。 优化下载的数据将更容易保持在建议的限制范围内。

不要反复做同样的工作

如果您要自定义 Field Service 或 Sales,请从其默认离线配置文件开始。 您知道核心功能会起作用,而且不会错过标准窗体中使用的表。

默认离线配置文件包括现成解决方案所需的一切。 您可以添加更多对您的业务很重要的表。

但是, 请不要从默认配置文件中删除表 。 如果没有这些表,窗体或视图可能会在运行时失败。 如果默认配置文件包含太多或太少的数据行,调整最大表的筛选器以优化用户的数据大小。

添加每个窗体中引用的所有表并在您的应用中查看

当您向模型驱动应用添加窗体或视图时,查找对其他表的引用,包括查找。 确保这些表中的每一个都包含在您的离线配置文件中,并带有相应的相关表或筛选器。 务必同时添加 Web 资源脚本中使用的所有表。

将表添加到离线配置文件时,您可以选择四个选项之一来确定将下载哪些行:

  • 组织行
  • 所有行
  • 仅限相关行
  • 自定义

要为每个表选择最佳选项,考虑您的表属于以下哪个类别:

  • 独立表格:在应用中以网格形式显示的表格,例如联系人。

  • 相关表:在不同表的窗体或网格视图中引用的表,如 Unit。

  • 资源表:包含资源数据(如货币或区域)的表。

根据您添加的表的类别选择行选项:

表类型 组织行 所有行 仅限相关行 自定义
独立
相关
资源

使用筛选器减小数据下载大小

如果用户在离线时可以访问大量数据,应用筛选器来限制他们在离线时将下载的数据。

重要

如果您将自定义筛选器添加到设置为下载相关行的表中,该筛选器将被视为 OR。 这意味着除了筛选器指定的行之外,还将下载所有相关行。 用户下载的数据可能超出您的预期。 如果您想要下载相关行并应用其他筛选器,清除仅限相关行,使用 AND 在自定义筛选器中指定关系和其他限制。

  • 独立表:使用自定义过滤器,其中包含应用中网格视图所需的记录。 默认情况下,当您在应用程序设计器中添加表时,所有视图都会包含在内。 要确保用户在线和离线具有相同的数据,请明确选择用于筛选您包含在离线配置文件中的数据的视图。

    显示具有显式 EQUALS 条件的自定义筛选器的屏幕截图。

  • 相关表格:如果您希望用户下载相关 符合其他过滤条件的行,请使用自定义过滤条件。

    显示具有 AND 条件的自定义筛选器的屏幕截图。

  • 资源表:如果您希望用户仅下载符合您条件的行(例如状态为“活动”的行),请使用自定义过滤器。

    显示状态等于活动的自定义筛选器的屏幕截图。

常用自定义筛选器

按时间和日期字段筛选来获取以时间为中心的数据,如预订和时间线项。 同时考虑未来和过去的日期。 例如,一个常用筛选器可能包括过去一个月和接下来三个月的约会。

在 OR 条件下显示基于开始和结束时间的多个筛选器的屏幕截图。

按状态 筛选以将下载限制为具有特定状态的行。

显示状态等于活动的多个筛选器的屏幕截图。

按自定义类别或角色字段筛选来将大型表范围缩小到您的应用所需的数据。 例如,您可以按角色筛选联系人来将数据限制为利益干系人。

显示基于角色的筛选器的屏幕截图。

避免这些会减慢下载速度的筛选器陷阱

如果自定义筛选器导致 Dataverse 查询速度变慢,下载将需要更长的时间。 请遵从以下最佳实践以避免出现常见的性能瓶颈:

  • 不要使用部分字符串匹配或 ContainsBegins withEnds with

  • 避免自定义筛选器中存在多级关系。 像这样的筛选器会导致下载缓慢:

    显示具有嵌套关系的多个筛选器的屏幕截图。

  • 避免使用许多 OR 条件。

  • 避免使用较小的时间窗口来减少频繁更改的表上的数据下载。 如果离线配置文件中的表很大且经常更改,请通过筛选状态、组、区域、所有者或分配给等字段来减少下载的记录数。

使用脱机表列选择优化下载的数据(预览版)

重要

  • 这是一项预览功能。
  • 预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前已经可用,以便客户可以及早使用并提供反馈。

对于拥有非常大数据集的组织,第一次同步可能需要一些时间才能完成,尤其是在偏远地区。 使用 “脱机表列选择(预览版) ”,可以选择在设备上下载的列,以避免下载应用中从未使用的列。 这样可以节省网络和磁盘的使用量,并缩短同步时间。 虽然这会影响第一次同步和增量同步,但第一次同步应该会产生更大的影响,因为要下载的记录更多。

  1. Power Apps Studio 左侧面板中,选择 应用程序

  2. 选择您的模型驱动应用,然后选择 编辑

  3. 选择 设置

  4. 选择 常规

  5. 选择离线模式和配置文件 部分,从下拉菜单中选择 编辑所选配置文件

  6. 此时将显示“ 编辑配置文件 ”窗格。 在“供脱机使用 的数据” 部分中,对于要优化的表,选择 “更多操作...)”图标,然后选择 “编辑”。

  7. 此时将显示“编辑帐户 页面。 在“所选列 部分中,选择“ 管理列 ”选项。

  8. 在“托管的选定列 窗格中,选择 “仅选择必需列 ”选项,然后根据需要选择更多列。

    重要

    如果应用中有自定义 JavaScript 代码,请确保在脱机配置文件中选择自定义代码中使用的列。

  9. 选择返回

  10. 选择保存

  11. 选择 保存 + 关闭

  12. 关闭设置 ,然后选择 发布

备注

  • 对于使用自动生成的离线配置文件的画布应用,系统会自动优化在设备上下载的列。
  • 我们建议在具有大量未使用列的表上选择列。
  • 在管理中心 脱机配置 未启用“ Power Platform 管理列”选项。

另请参见

备注

您能告诉我们您的文档语言首选项吗? 进行简短调查。(请注意,此调查是英文版调查)

此调查大约需要七分钟。 不会收集个人数据(隐私声明)。