SSRS 2008 R2使用mutivalue文本框的参数过滤器

时间:2015-01-28 14:09:37

标签: reporting-services

在SSRS 2008 R2中,是否可以使用参数查找单元格内的特定数据?

例如:

我有表达式(Fields!input_criteria.Value),其中包含多个以;;

分隔的值
 ;#Action01;#Action02;#Action03;#Action04;#Action05;#

根据行的不同,可以使用不同的组合填充单元格

 Row 1 = ;#Action01;#Action04;#Action05;#
 Row 5 = ;#Action01;#Action05;#
 Row 7 = ;#Action03;#
 ...

我想通过查看Fields!input_criteria.Value来创建一个过滤数据集的参数,并显示具有所选值的行

 Available Values:
      Action01
      Action02
      Action03
      Action04
      Action05

 If I select Action01 from the Parameter drop down the report displays only Rows 1 and 5.  If Action04 is selected only Row 1 is displayed.

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您可以在数据集上设置过滤器

1)编写将接受两个参数的自定义代码,一个是由逗号分隔的参数选择值。您可以使用

加入您的值
 =Join(Parameters!input_criteria.Value.Value, ",")  

第二个是您的input_criteria字段值

2)该方法将拆分参数值并循环遍历每个值,然后使用InStr它将确定input_criteria字段中是否存在calue。如果存在,那么它将返回true。

3)在过滤器中将表达式设置为

= Code.Yourfunction(Join(Parameters!input_criteria.Value.Value, ","),Fields!input_criteria.Value)

4)在过滤器中将操作员设置为=

5)在过滤器中将value设置为True

这将过滤包含所选参数值的所有记录。

您可以通过进入菜单栏选项

在报告中添加自定义代码

报告 - >报告属性 - >代码

答案 1 :(得分:0)

您可以在过滤器中使用Instr()函数。

= InStr函数(字段!input_criteria.Value,参数!param1.Value)

>

0