在Power Apps集合中添加列统计每个项目的出现次数
在Power Apps中按顺序统计集合内项目的出现次数
实现步骤
假设你的SharePoint列表Product中存储项目的列名为Fruit,按以下步骤操作:
加载SharePoint数据到基础集合
在应用的OnStart事件或按钮的OnSelect事件中执行,将SharePoint列表数据加载到临时集合:ClearCollect(colProducts, Product)生成带出现次数的目标集合
使用AddColumns结合CountRows和Filter,为每个条目添加“出现次数”列。利用SharePoint列表的ID字段(默认递增,保证顺序)统计当前条目是该项目的第几次出现:ClearCollect(colProductsWithCount, AddColumns( colProducts, "Number of Occurrences", CountRows(Filter(colProducts, Fruit = ThisRecord.Fruit && ID <= ThisRecord.ID)) ) )在界面中展示结果
插入一个Gallery控件,将其数据源设置为colProductsWithCount,然后添加两个标签控件:- 第一个标签绑定
ThisItem.Fruit,显示项目名称 - 第二个标签绑定
ThisItem.'Number of Occurrences',显示该项目的出现次数
- 第一个标签绑定
自定义排序/过滤场景的适配
如果你的集合需要先进行排序或过滤操作,建议先为集合添加自定义索引列来保证顺序准确性:
- 生成带索引的过滤/排序集合:
ClearCollect(colFilteredProducts, AddColumns( Sort(Product, Created, Ascending), // 可替换为你的自定义排序规则 "RowIndex", Sequence(CountRows(Product)) ) ) - 基于带索引的集合生成计数集合:
ClearCollect(colFilteredWithCount, AddColumns( colFilteredProducts, "Number of Occurrences", CountRows(Filter(colFilteredProducts, Fruit = ThisRecord.Fruit && RowIndex <= ThisRecord.RowIndex)) ) )
内容的提问来源于stack exchange,提问作者Kendall Outlaw
相关产品推荐
相关产品推荐

