如何在PowerApps中基于多选下拉框筛选SharePoint多选项查找列
解决方案
你可以直接在原有过滤逻辑的基础上新增工厂匹配条件,无需额外创建多个集合遍历,可直接使用如下代码:
Filter('eProject - Coach', Open_Calc="Yes", Input_ProjectType.Selected.Project_Type_Name in Concat(Coach_ProjectType.Value,Value,", "), // 工厂过滤条件:无选中工厂时不过滤,有选中时只要存在任意匹配项即符合要求 IsBlank(Input_Factories.SelectedItems) || CountIf( Input_Factories.SelectedItems, Factory_Name in Coach_Factory.Value ) > 0 ).Coach_Name_String
逻辑说明
- 前置
IsBlank判断用于兼容未选择任何工厂的场景,此时不触发工厂维度的过滤,避免空选时无返回结果 - CountIf会遍历所有已选中的工厂,只要有任意一个工厂名称存在于当前教练的
Coach_Factory查找列值中,就判定为符合条件,完全匹配预设的筛选规则 - 直接使用
Factory_Name in Coach_Factory.Value的判断方式,无需将查找列值拼接为字符串,可避免出现工厂名是其他工厂名子串导致的误匹配问题,性能也更优
原方案报错原因
之前的写法将表类型的_Factory.FactoryName直接放在in关键字左侧,Power Apps不支持对整表执行包含判断,因此触发类型错误。
内容的提问来源于stack exchange,提问作者Ludzik1993
相关产品推荐
相关产品推荐

