2017-03-27 156 views
1

我怎么能简单地隐藏基于在2012年SSRS选择 参数行我有了两个值LineGuid参数:EarthquakeWind隐藏行根据参数值

enter image description here

我想隐藏如果选择“风”参数,则行,因为它显示地震的总和值。

所以我在Row Visibility输入表达式,但它给了我一个错误说:“重载决策失败,因为没有公共‘=’可以被称为......”

enter image description here

enter image description here 我也试图通过Value(GUID),而不是Label,但给我同样的错误。 enter image description here

我在这里错过了什么?

+0

你是什么意思?'我想显示行只有'地震'参数选择'?与“wind”相关的行出现了吗? – LONG

+0

对不起。我编辑: 如果选择'风'参数,我想隐藏该行,因为它显示地震的总和值。 – Oleg

回答

1

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

=Parameters!lineGuid.Value(0) 

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

如果你愿意,你也可以加入他们这样所有的值组合:

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

这将串联数组中的值到一个逗号分隔字符串。

+0

这个表达式工作:'= IIF(Parameters!lineGuid.Label(0)=“Wind”,True,False)' – Oleg

+0

Thank you very mush @SteveWhite – Oleg

+0

噢,如果我选择'Earthquake'和'Wind '。 – Oleg

-1

尝试使用实际参数.value.label

+0

我也试过。即时通过GUID值,但给我同样的错误。我添加了一张图片 谢谢 – Oleg

+0

看起来像是一个转换问题,您能否再次粘贴该错误页面 – LONG

+0

本地报表处理期间发生错误。 Tablix3的hiddedn表达式包含一个错误:重载解析失败,因为没有公共'='可以用这些参数调用:'公共共享运算符=(作为字符串,b作为字符串)作为布尔':参数匹配参数'a'无法从Object()转换为字符串 – Oleg

1

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

= IIF(InStr(Join(Parameters!lineGuid.Label,","),"Wind") > 0,True,False) 
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)