处理多条记录的公式

已完成

在其他 Power Apps 学习路径中,您一直重点了解如何使用公式来操作单个记录。 这是开始使用 Power Apps 的一种好方法。 在构建更复杂的应用时,通常需要在一个公式中处理和使用多条记录。 在本模块中,我们将重点介绍一些用于处理表、记录和集合的更常用的函数。

为了使本模块的其余部分简单明了,内容将引用表和记录。 是数据集,由包含一行或多行数据的一个或多个列组成。 记录是用于引用表中各行的名称。 可以使用 Table 函数手动创建表,表也可以来自表格数据源。 集合是一类用于存储表的特殊变量。 在本模块中,表和集合为同义词。 这意味着可以针对数据表使用的任何函数也可以针对集合使用。

基于多条记录的计算

有时,函数不用于更改表,而用于执行与数据相关的数学运算。 最基本的是 CountRows 函数。 本简单函数用于计算表中的行(记录)数。 此外,还有更多传统的数学函数,例如 SumAverage。 这些函数可以处理针对数据表的数值运算。 我们将在下一单元中进一步探讨本主题。

拆分与合并数据

处理数据时,通常需要转换数据以正确地显示数据或对数据进行排序。 例如,不能在标签中显示记录。 要将这些记录更改为以逗号分隔的数据列表,可以使用 Concat 函数。 通过本函数,可以指定要用来处理数据表的公式,并且每条记录的结果将以指定的字符串分隔。 也可以使用 Split 函数来执行反向操作。 可以使用 Split 函数来获取以逗号等字符分隔的字符串,并将其转换为数据表。 这两个函数都可用于按照所需的方式处理数据。

对数据表执行操作

在某些情况下,您可能需要在没有内置函数可用的情况下处理数据。 在这种情况下,可以使用 ForAll 函数。 ForAll 是一个动态函数,使您能够对表中的每条记录运行公式一次,同时引用当前记录中的所有数据。 例如,如果要将一封电子邮件发送给表中的每位客户,ForAll 函数可以针对每位客户运行 Office365.SendEmail 函数一次。

表具有灵活性

在学习本模块的过程中,请记住,所有函数都与处理数据表有关。 这包括使用 Table 函数创建的表、来自表格数据源的表、集合以及输出表的公式。 Filter 和 Search 等函数将输出数据表,可以将这些函数用于该数据表。 例如,可以使用 Sum(CustomerEntity, InvoiceAmount) 来计算表中的发票总数。 但是,还可以通过将公式修改为 Sum(Filter(CustomerEntity, Country = "Germany"), InvoiceAmount) 来筛选仅对客户进行求和的数据,其中“Country”等于“Germany”。 本概念适用于本模块中的所有函数。 下一单元将介绍如何在表中使用数学运算。