隐藏Tablix时SSRS参数隐藏表达式错误

时间:2019-03-20 07:28:07

标签: ssrs-2012

我遇到了错误。当我使用隐藏表达式中的参数进行隐藏时。

Expression:=IIF(Parameters!BU.Value="BU5",False,True)
[The Hidden expression for the tablix ‘BU’ contains an error: Overload resolution failed because no Public '=' can be called with these arguments:
    'Public Shared Operator =(a As String, b As String) As Boolean':
        Argument matching parameter 'a' cannot convert from 'Object()' to 'String'. (rsRuntimeErrorInExpression)][1]

enter image description here

请帮助解决此问题。谢谢。

1 个答案:

答案 0 :(得分:1)

看起来BU是一个多值参数。如果要直接将参数值与字符串进行比较,则必须将其更改为仅允许单个选择;否则,必须进行更改。否则,您将数组与字符串进行比较,这就是您的错误消息所指示的内容。

另一个选择是使用JOIN函数创建要在表达式中进行比较的选择的串联列表。例如,如果在BU参数中未选择“ BK5”,则可以通过如下设置列的可见性表达式来隐藏列:

=INSTR("|" & JOIN(Parameters!BU.Value,"|") & "|","|BK5|")=0

请记住,如果您使用此方法,则最佳实践表明您应该选择一个定界符,该定界符不应出现在参数的可用值中,因此在此方面请您自担风险。