SSRS中IN过滤器多整数表达式值的正确语法是什么?
SSRS数据集动态整数IN过滤器解决方案
问题核心
你之前的表达式返回的是字符串类型的逗号分隔值(比如"4,5"),但[MyField]是INT类型,SSRS会尝试将字符串与整数直接比较,导致类型不匹配错误。
正确实现步骤
在数据集过滤器中,保持基础设置不变,仅修改Value的表达式,使其返回与[MyField]类型一致的整数数组:
- 过滤器基础配置:
- Expression:
[MyField] - Operator:
In
- Expression:
- 在
Value的表达式输入框中填写:=IIf(Parameters!Timeframe.Value = 1 OR Parameters!Timeframe.Value = 2, New Integer(){4,5}, New Integer(){5,6})
原理说明
New Integer(){4,5}直接构造整数数组,与[MyField]的INT类型完全匹配IIf函数根据Timeframe参数值,动态返回对应的整数数组In运算符会自动遍历数组中的每个整数,与[MyField]进行匹配
内容的提问来源于stack exchange,提问作者Jeff Brady
相关产品推荐
相关产品推荐

