在SSR 2008 R2中,如何使用动态In比较来过滤tablix



我有一个tablix,想要使用IN条件进行筛选。问题是SSRS给出了一个字节到字符串的比较错误。我知道我可以修改参数和SQL来实现这一点,但我在多个地方使用SQL语句。我真的只想在一个地方过滤,而不是在另一个地方。

我想说,

MyField
IN
If Parameter!xyz.Value = True Then "0,1" 
Else "0,1,2"

这将把一个动态值传递到IN子句中。

如果我把0,1直接插入到滤波器值中,它就起作用了。

我试过了,

Split("0,1", ",") <- Byte error
"0,1" OR "0" <- Byte error

我想这里的第二个问题是,当我将0,1直接插入滤波器值时,SSRS将其转换为什么?

有些人声称多值整数可以正常工作,但我从来没有这样做过。你把Filter类型设置为Text吗?

对于你想要的,我只使用INSTR:

表达式

=IIF(INSTR(IIF(Parameter!xyz.Value, "0,1", "0,1,2"), CSTR(MyField)) > 0 , 1, 0)

类型:整数

操作员:=

:1

相关内容

  • 没有找到相关文章

最新更新