我制定了SSRS报告。我从C#代码调用此报告并从那里传递过滤器参数。我必须根据从code.Hence收到的一个文件管理器值显示列。我使用下面的表达式。
= IIF(INSTR(JOIN(参数Metrics.value, “”), “5”)>!0,假,真)
但是这导致了问题,因为报告呈现了Metrics 5,15,25等所有值。请给我解决方案以便它只需要那个特定值。我尝试使用InstrRev但是没有运气
先谢谢!!
答案 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,假,真)