TablixFilter问题中的IIF声明

时间:2015-04-09 08:50:30

标签: filter ssrs-2008-r2 ssrs-tablix iif-function

我正在尝试在报告中过滤矩阵。我有4个驱动程序的名称,我希望Matrix5显示默认驱动程序的名称,以防在过滤器中选中SELECT ALL。否则我希望矩阵显示被检查的人。

我在矩阵过滤器中设置了一个表达式为;

=IIF(Parameters!Sofor.Count=4,"abcdef",Parameters!Sofor.Value)

-abcdef是Tablix的默认驱动程序的名称 -Sofor是驱动程序名称参数,有4个可能的名称选项,如果我们考虑SELECT ALL也有5个。

如果我选中SELECT ALL,那么效果很好但如果我只选择一个选项则停止工作。

我得到的错误如下;

“无法执行Tablix”Tablix5“的FilterExpression处理。无法比较System.String和System.Object []类型的数据。请检查FilterExpression返回的数据类型”

虽然这个错误听起来很自我解释,但仍然无法理解我做错了什么。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

参数!Sofor.Value是一个值数组(对象),因为它是一个多选参数。 (当用户选择2个驱动程序时会发生什么?)

尝试

=IIF(Parameters!Sofor.Count=4,"abcdef",Parameters!Sofor.Value(0))