我遇到了错误。当我使用隐藏表达式中的参数进行隐藏时。
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]
请帮助解决此问题。谢谢。
答案 0 :(得分:1)
看起来BU是一个多值参数。如果要直接将参数值与字符串进行比较,则必须将其更改为仅允许单个选择;否则,必须进行更改。否则,您将数组与字符串进行比较,这就是您的错误消息所指示的内容。
另一个选择是使用JOIN函数创建要在表达式中进行比较的选择的串联列表。例如,如果在BU参数中未选择“ BK5”,则可以通过如下设置列的可见性表达式来隐藏列:
=INSTR("|" & JOIN(Parameters!BU.Value,"|") & "|","|BK5|")=0
请记住,如果您使用此方法,则最佳实践表明您应该选择一个定界符,该定界符不应出现在参数的可用值中,因此在此方面请您自担风险。