SharePoint超2万条列表在Power Automate中OData查询Person列异常
给Person列加索引是核心解决办法
SharePoint默认列表视图阈值是5000条,当列表记录超过这个数时,未添加索引的列无法支持跨阈值的筛选查询。你用ID(默认带索引)能查到目标记录,但用无索引的Person列筛选时,只有在5000条阈值范围内的记录(比如另一个人的那条)能被检索到,而你的目标记录刚好在阈值外,所以查不到。
操作步骤:- 打开SharePoint列表的「设置」→「列索引」
- 点击「创建索引」,选中「Email」列(Person类型)保存。索引生效需要等待一段时间(视列表大小而定),之后再测试筛选。
检查Power Automate的分页设置
在Flow的「获取项目」动作里,确认分页已开启:- 编辑「获取项目」,点击右上角的设置图标
- 打开「分页」选项,把阈值设成比列表总记录数大的值(比如25000)
不过这只是辅助设置,核心问题还是索引——如果列没加索引,就算开了分页,SharePoint也不会返回阈值外的筛选结果。
排查Person列的字段细节
虽然ID能查到记录,但可以确认下目标记录的Email列值:- 用ID打开那条记录,检查Person列显示的邮箱和你筛选的
me.someone@company.com是不是完全一致(OData筛选大小写敏感,别忽略空格、大小写差异) - 如果用户账号有过变更(比如旧邮箱没同步),可以试试用
Email/Id eq '用户ID'筛选,用户ID从Person列的详情里能拿到。
- 用ID打开那条记录,检查Person列显示的邮箱和你筛选的
内容的提问来源于stack exchange,提问作者Ganesh Narayan
相关产品推荐
相关产品推荐

