集合

已完成

您已在前两个单元中了解了如何使用全局变量和上下文变量存储单个值。 第三种变量类型(集合变量)允许存储数据表。 需要存储大量结构化数据以便在应用中重复使用时,该变量类型尤其适用。 此类数据可以直接来自数据源,也可以在应用中创建,或者两种方式相结合。

使用集合提高性能

集合的常见用途是通过减少对数据源中相同表的调用来优化性能。 例如表中存储所有活动项目并且要在应用中多次引用该列表,应考虑查询该数据一次并将其存储到集合中。 使用以下公式将项目表副本从数据源存储到collectProjects集合中。

Collect(collectProjects, Projects)

本公式将创建collectProjects集合,其中包含与数据源中项目表相同的行和列。 以下给出有关使用集合需要了解的一些注意事项:

  • Collect 函数不可委托。 这意味着默认仅检索数据源中的前 500 条记录并存储到集合中。 有关使用委托的详细信息,请参阅在 Power Apps 画布应用中使用数据源限制(委托限制)

  • 创建集合后,集合不链接到数据源。 这意味着对集合中数据的更改不会自动保存到数据源。 其中包括对数据所做的更改。 如要根据对集合所做的更改更新数据源,需要构建公式执行本操作,比如从数据源中重新收集。

  • 集合具有临时特性。 关闭应用时,将删除集合及其所有内容。 如需存储集合数据,需要在关闭应用之前将其写入数据源。

使用动态集合

集合不必来自于数据源。 您还可以直接在应用中根据信息创建集合。 通常采用这种做法为下拉菜单或组合框提供值并在写入数据源之前存储大量数据。

使用自己的数据创建集合与使用其他变量类型相似。 以下公式将创建匹配下表所示结构的collectColors集合。

Collect(collectColors, {Name: "Shane", FavoriteColor: "Orange"},
{Name: "Mary", FavoriteColor: "Blue"}, {Name: "Oscar", FavoriteColor:
"Yellow"})
名称 FavoriteColor
Shane 橙色
Mary 蓝色
Oscar 黄色

创建集合后即可在整个应用中重复使用。 这也意味着可以使用所有表函数。 集合与表格数据源的一个不同之处在于集合不能与窗体控件一起使用。

有关使用集合及其存储的表数据的详细信息,请参阅在 Power Apps 画布应用中编写基本公式使用表和记录

此外,集合与表格数据源采用相同的方式存储表数据。 学习路径在 Power Apps 画布应用中使用数据 包含许多概念,可以帮助您使用和扩展集合的功能。

在本模块的最后一个单元中,您将了解一些其他变量概念以及如何将其应用到应用中。