Power Automate Odata及DataVerse List Rows过滤表达式是否支持IN操作符?
Dataverse OData筛选IN操作符使用指南
Dataverse List Rows 组件以及Power Automate对应的OData Filter Rows表达式均支持IN操作符,可实现类似SQL IN语句的多值匹配筛选逻辑。
正确语法
- 核心格式:
[列的逻辑名] in (值1, 值2, ...值N)重点注意:此处必须填写列的逻辑名而非页面显示的列名,这是筛选不生效的最常见原因。逻辑名可在Dataverse表的列管理页查看,通常带有环境发布者前缀,例如
cr23f_name,而非直接写name。 - 不同数据类型的写法示例:
- 文本类型:值需用英文单引号包裹,示例:
cr23f_name in ('张三','李四','王五') - 数值类型:值无需加引号,示例:
cr23f_age in (25,27,30) - 选项集/状态列:直接填写选项集的数字值,示例:
cr23f_orderstatus in (1,2,3) - 查找列:填写关联记录的GUID值,示例:
_cr23f_customerid_value in ('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx','yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy')
- 文本类型:值需用英文单引号包裹,示例:
常见失效原因排查
- 列名使用了显示名而非逻辑名
- 使用了中文标点的引号、逗号,需替换为英文半角标点
- 使用的Dataverse连接器版本过旧,升级到最新版本即可正常支持IN操作符
内容的提问来源于stack exchange,提问作者Tim T
相关产品推荐
相关产品推荐

