TablixFilter 问题中的 IIF 声明

IIF Statement in TablixFilter issue

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

我将矩阵过滤器的表达式设置为;

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

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

如果我选中 SELECT ALL,它会很好地工作,但如果我 select 只有一个选项,它就会停止工作。

我得到的错误如下;

"The processing of FilterExpression for the tablix "Tablix5" 无法执行。无法比较类型 System.String 和 System.Object[] 的数据。请检查 FilterExpression"

返回的数据类型

虽然这个错误听起来很容易解释,但我仍然不明白我做错了什么。有什么帮助吗?

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

尝试

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