如何在Power Apps中通过SharePoint多值查找列筛选人员
修改后的筛选公式
如果需要同时支持姓名和技能搜索(同一个输入框匹配两种条件),直接修改现有Filter公式即可:
Filter( Skills, Or( // 原有的姓名前缀搜索逻辑 StartsWith(Employee.DisplayName, SearchInput1.Text), // 新增技能搜索:检查多值Skills列是否存在匹配项 Any(Skills, StartsWith(Value, SearchInput1.Text)) ) )
如果需要单独的技能搜索框(比如新增SearchInput2专门用于技能输入),公式调整为:
Filter( Skills, Or( StartsWith(Employee.DisplayName, SearchInput1.Text), Any(Skills, StartsWith(Value, SearchInput2.Text)) ) )
关键细节说明
- 多值列处理逻辑:
SharePoint的多值查找列在Power Apps中以表结构存在,Any函数会遍历该列的每一项,只要有任意一项满足匹配条件,就会返回true,以此实现多值列的筛选。 - 字段适配调整:
公式中的Value是多值查找列默认的显示值字段,如果你的技能列表使用自定义字段(比如技能名称)作为显示值,需要将Value替换为对应的字段名。 - 匹配规则自定义:
- 若要实现模糊匹配(包含搜索文本即可),把
StartsWith替换为Search:Any(Skills, Search(Value, SearchInput1.Text) > 0) - 若要实现精确匹配,直接使用
Any(Skills, Value = SearchInput1.Text)
- 若要实现模糊匹配(包含搜索文本即可),把
纯技能筛选的简化公式
如果只需要按技能筛选人员,去掉姓名搜索条件即可:
Filter( Skills, Any(Skills, StartsWith(Value, SearchInput1.Text)) )
内容的提问来源于stack exchange,提问作者Hash_Dew
相关产品推荐
相关产品推荐

