根据参数值隐藏行

Hide row based on parameter value

如何在 SSRS 2012 中根据所选参数简单地隐藏行。 我的 LineGuid 参数有两个值:EarthquakeWind

如果选择 'Wind' 参数,我想隐藏该行,因为它显示地震的总和值。

所以我在 Row Visibility 中输入了一个表达式,但它给我一个错误提示:"Overload resolution failed because no Public '=' can be called..."

我也尝试传递 Value(GUID),而不是 Label,但给了我同样的错误。

我在这里错过了什么?

尝试使用实际参数 .value 而不是 .label 名称

您已将线路 GUID 参数设置为接受多个值。这些值作为数组传入,这就是您在错误消息中看到 String() 语法的原因。一种选择是将其更改为不接受多个值。另一种选择是像这样使用第一个选择的值:

=Parameters!lineGuid.Value(0)

注意表达式末尾对数组索引的引用。

如果您想合并所有值,您也可以像这样连接它们:

=Join(Parameters!lineGuid.Value, ", ")

这会将数组中的值连接成逗号分隔的字符串。

将所有参数连接在一起,然后检查 Wind 是否是字符串的一部分。

= IIF(InStr(Join(Parameters!lineGuid.Label,","),"Wind") > 0,True,False)

在我的例子中,我需要在选择“Earthquake”参数时显示行,并且在选择两个参数时也需要显示行:EarthquakeWind。 这个表达式使它起作用:

    =IIF(InStr(JOIN(Parameters!lineGuid.Label,","),"E") 
OR 
InStr(JOIN(Parameters!lineGuid.Label,","),"W") 
AND 
InStr(JOIN(Parameters!lineGuid.Label,","),"E")>0,False,True)