组合函数、谓词和数据源确定委派

已完成

确定何时适用委派取决于多种因素,首先是数据源本身。 查看此表,了解 Microsoft Dataverse 函数及其委派支持:

  • :数据源处理所有记录。

  • :数据源仅将前 500 条(默认值)记录发送到 Power Apps,后者随后将在本地处理函数。

显示不同 Dataverse 委派函数的表的屏幕截图。

  1. Filter(table, field + 10 > 100) 等算术表达式中的数值不可委派。 语言和时区不可委派。

  2. 不支持 Trim[Ends] 或 Len. 支持 Left、Mid、Right、Upper、Lower、Replace 和 Substitute 等其他函数。

  3. 可委派除 Now() 和 Today() 以外的其他日期时间函数。

  4. 支持比较。 例如 Filter(TableName, MyCol = Blank())。

  5. 聚合函数限制为 50,000 条记录的集合。 根据需要,在使用聚合函数之前,使用 Filter 函数从更大的数据集中选择 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)) 公式不可委派。

您可能还要考虑列类型

列类型对委派可能性有着惊人的影响。 以较为复杂的列为例,例如 SharePoint 查找列就不适合委派。 其复杂的逻辑意味着 Power Apps 只能在本地进行处理。

好处就是, Power Apps 可为您打点一切! 可针对这些问题为您提供视觉警告。 例如,通过蓝色下划线突出显示应用中的公式,这就是一种提示! 表明委派出现问题,可能意味着无法获取全部记录。 纠正这个问题可以确保您的应用无缝运行。

在下一部分中,您将详细了解委派警告、限制以及遇到委派问题时如何解决它们。