用于隐藏列的SSRS中的表达式

时间:2014-08-26 18:23:54

标签: ssrs-2008-r2

我制定了SSRS报告。我从C#代码调用此报告并从那里传递过滤器参数。我必须根据从code.Hence收到的一个文件管理器值显示列。我使用下面的表达式。

= IIF(INSTR(JOIN(参数Metrics.value, “”), “5”)>!0,假,真)

但是这导致了问题,因为报告呈现了Metrics 5,15,25等所有值。请给我解决方案以便它只需要那个特定值。我尝试使用InstrRev但是没有运气

先谢谢!!

2 个答案:

答案 0 :(得分:0)

您是否只期望过滤器有1个值或多个值?

如果为1,则可以设置过滤参数!Metrics.Value = 5或' 5'

如果多,请设置过滤参数!Metrics.Value IN然后将您的连接(参数...放在表达式中。

这会将过滤器设置为仅显示数据集中的那些行...

那是FILTERS ...如果你的意思是你试图将它放在Visibility属性中,那么我认为最好是制作嵌套的IIF或Switch语句 - 然后它会检查1:1 ..

ex. IIF([field value] =Split(Parameters!Metrics.Value," ").GetValue(0)
     OR [field value] =Split(Parameters!Metrics.Value," ").GetValue(1), False, True)

or Switch( [field value] =Split(Parameters!Metrics.Value," ").GetValue(0), False
           [field value] =Split(Parameters!Metrics.Value," ").GetValue(0), False, True)

我假设将字段值与参数值进行比较...或某些比较..确保拆分然后将其发送到...

答案 1 :(得分:0)

试试这个:

= IIF(Instr(","& JOIN(参数!Metrics.value,",")&",",& #34; 5&#34)大于0,假,真)