0

尝试根据使用报表中参数值的表达式显示/隐藏SSRS中的几个矩形。查看屏幕截图了解更多详情。当选择“转换页面”标签时,我希望它显示矩形,但我始终得到以下错误。无论我做什么,似乎都无法转换和读取参数表达式。使用表达式根据参数值显示或隐藏矩形(SSRS)

我试图使用的表达式是:

=iif(Parameters!specparam.Value="-Cover Pages",true,false) 

Error Image

回答

0

它看起来像你的参数标签是你在找什么根据所提供的图像和你的表达上。尽量要改用:

=IIF(Parameters!specparam.Label="-Cover Pages",TRUE,FALSE) 

(注:我切换specparam.Valuespecparam.Label

+0

雅,我已经关掉这一点,应该更新我原来的职位,但是这并不重要,转换仍然没有奏效。工作使用的是什么= iif(Parameters!specparam.label.Equals(“ - Cover Pages”),true,false)。现在唯一的问题是即使在参数选项中没有选择“-Cover Pages”,矩形仍然显示。试图找到一种方法,让它不显示封面,如果该选项不是选择 – MattyKluch

0

您的评论是非常接近应用此表达了矩形的Hidden属性:。

=IIF(Parameters!specparam.Label.Equals("-Cover Pages"), FALSE, TRUE) 

你会注意到我已经切换了FALSETRUE,因为你不要想要矩形在参数匹配时隐藏。

编辑: 当你正在处理一个多值参数,你可以使用Array.IndexOfSplit的组合来检查,如果你的价值是所选择的参数之一。 应用此表达对您的矩形Hidden属性:

=IIF(Array.IndexOf(Split(Parameters!specparam.Value, ","), "-Cover Pages") > -1, FALSE, TRUE) 
+0

这实际上是我做了,虽然我不得不创建一个单独的参数,以使其工作。我使用的第一个参数有很多项目,无论出于何种原因,SSRS都不会适当地做出响应。也许这是因为用这个参数你可以选择多个项目来查看?不知道,但无论哪种方式总是显示矩形或从未显示它。我不得不创建第二个变量,它可以让你选择是或否,哪些工作。 – MattyKluch

+0

啊,我没有意识到你的参数是多值的。我编辑了我的答案,为您提供了另一种可能的解决方案,而不需要额外的参数。很高兴你把事情解决了 :) – xcvd

相关问题