Jso*_*ham 33 sql-server-2008 reporting-services ssrs-2008
任何人都可以建议在表过滤器中使用IN运算符时应该是什么语法.我尝试过以下但是snytax错了:

小智 38
我也遇到了一些麻烦.微软自己的文档说明值框中的一个简单的逗号分隔值列表应该有效.这很令人困惑,因为它没有.至少它不适合我,我正在使用SSRS 2012和Visual Studio 2010.
事实证明,当您使用IN运算符时,SSRS期望一组值.有许多方法可以使这个过滤器工作.以下示例旨在在表达式编辑器中键入.
第一种方式(也是下面链接的博客中解释的方式)是在字符串值中键入逗号分隔列表,然后在其上使用split函数.
=split("2B,2C",",")
Run Code Online (Sandbox Code Playgroud)
或者,您可以从多值参数派生列表.多值参数已经是一个数组,所以你要做的就是通过参数表达式引用它,如下所示.
=Parameters!MultiValueParam.Value
Run Code Online (Sandbox Code Playgroud)
我通过以下博客发现了这些信息.http://sqlblogcasts.com/blogs/simons/archive/2007/11/20/RS-Howto--Use-the-IN-operator-in-a-filter-expression.aspx
Ian*_*ton 16
如果您只是更改Value属性,只需添加一个逗号分隔的值列表,它应该起作用:

无论如何,这对我来说是一个快速测试.
在线书籍似乎对示例非常清楚,但我确实找到了一个参考; 请参阅Commmonly Used Filters中的In示例.如果更好地解释这将是很好的.
小智 15
这实际上有效:
=CStr("Value1,Value2,Value3,Value4,etc").Split(",")
Run Code Online (Sandbox Code Playgroud)
这在SSRS 2012中进行了测试.
小智 8
"value1" "value2"
Run Code Online (Sandbox Code Playgroud)
有一个空格并且没有逗号对我有用。有趣的是,当测试结束后回头查看时,它显示为
value1, value2
Run Code Online (Sandbox Code Playgroud)
带逗号且不带引号。如果我剪切它,然后将其直接粘贴回同一字段,则不起作用。这是一些有问题的东西。
基础数据类型是 nvarchar(10),不为 null
使用 VS 2017 和 SSRS 2016 进行测试