2

我正在尝试过滤报告中的矩阵。我有 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 返回的数据类型”

尽管该错误听起来很不言自明,但我仍然无法理解我做错了什么。请问有什么帮助吗?

4

1 回答 1

1

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

尝试

=IIF(Parameters!Sofor.Count=4,"abcdef",Parameters!Sofor.Value(0))
于 2015-04-21T21:10:27.973 回答