根据参数值隐藏行

时间:2017-03-27 17:56:29

标签: sql-server reporting-services ssrs-2012

如何根据SSRS 2012中的选定参数隐藏行。 我的LineGuid参数有两个值:EarthquakeWind

enter image description here

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

所以我在Row Visibility中输入一个表达式,但它给出了一个错误说:“重载解析失败,因为没有公共'='可以调用......”

enter image description here

enter image description here 我还尝试传递Value(GUID),而不是Label但是给了我同样的错误。 enter image description here

我在这里缺少什么?

4 个答案:

答案 0 :(得分:1)

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

=Parameters!lineGuid.Value(0)

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

如果您想要组合所有值,您也可以像这样加入它们:

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

在我的情况下,我需要在选择“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)

答案 3 :(得分:-1)

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