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))
我正在尝试过滤报表中的矩阵。我有 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))