在将列可见性设置为表达式后,SSRS报告未显示

时间:2013-12-04 21:06:55

标签: reporting-services sql-server-2012

我坚持设置列可见性。我甚至从Dept表格(select deptid, deptName, Location from Depttable)建立了一个简单的报表 - 部门名称。然后,我单击第一列,选择“列可见性”,根据表达式选择显示或隐藏。 使用

   =iif(InStr(Join(Parameters!columnVisibility.Value,","),"01")>0,false,true)

添加参数,将第一列的可用值添加为“01” 它在报表生成器中工作正常。然后我部署了它,它返回0错误。但是当我去报告服务器运行报告时,它没有返回任何内容,甚至是列标题。也没有错误消息。 有人可以帮我吗?我错过了什么? 非常感谢提前!

1 个答案:

答案 0 :(得分:1)

我不确定我是否可以为这个问题提供任何具体帮助,但我可以分享一些我在面对这些问题时使用的故障排除技巧。 我有2条建议:

1 - 记住你的表达式设置为隐藏。当评估为 true 时,它将隐藏列,当评估为 false 时,它将显示专栏。确保你的表达中的逻辑是正确的。

2 - 通过将列设置为show来在服务器上测试报告。确保报告可以访问数据源并且它正在返回数据。一旦确认,然后将隐藏的表达式重新放入,但将其简化为一个简单的参数,然后逐渐增加它的复杂性,以查看事情的发展方向。

(在添加复杂性时,将一个列或文本框添加到显示表达式值的一侧是有帮助的 - 这样您就可以看到SSRS如何评估您的表达式)

我经常在报表生成器中获得与在服务器上不同的行为,因为报表生成器会缓存疯狂的事情。这是一篇很好的文章,展示了如何清除缓存。 http://beyondrelational.com/modules/2/blogs/115/Posts/14532/clear-report-builder-cache.aspx