首页 > 解决方案 > 隐藏tablix时SSRS参数隐藏表达式错误

问题描述

我得到低于错误。当我使用隐藏表达式中的参数隐藏时。

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]

在此处输入图像描述

请帮助解决此问题。在此先感谢。

标签: ssrs-2012

解决方案


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

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

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

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


推荐阅读