我正在尝试在报告中过滤矩阵。我有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返回的数据类型”
虽然这个错误听起来很自我解释,但仍然无法理解我做错了什么。有什么帮助吗?
答案 0 :(得分:1)
参数!Sofor.Value是一个值数组(对象),因为它是一个多选参数。 (当用户选择2个驱动程序时会发生什么?)
尝试
=IIF(Parameters!Sofor.Count=4,"abcdef",Parameters!Sofor.Value(0))