如何在SSRS 2008中抑制空子报表

时间:2009-06-17 10:55:15

标签: ssrs-2008 visibility reporting-services subreport

我正在SSRS 2008中创建一个“主”报告,该报告与其他人的报告进行协作。有时并非所有其他报告都是相关的,因此没有任何回报。我希望能够从主报告中排除这一点,因此它不会留下空白页面。

我知道'no-rows-message'功能,但只有“不适用于此人”的整页不是最佳解决方案!

基本上我正在寻找一种方法来确定子报告是否为“空”并在可见性表达式中使用它。

非常感谢任何帮助

2 个答案:

答案 0 :(得分:13)

好的,所以我现在得到了这个数字。答案是将子报表放在一个矩形中。然后将矩形的可见性设置为如下所示:

=IIF(First(Fields![SOMEFEILD].Value, "[SOMEDATASET]") IS NOTHING, TRUE, FALSE)

其中[SOMEDATASET]是填充数据集的方式与填充子报表的方式相同。然后,如果子报表为空,那么[SOMEDATASET]也将为空,更多的是,字段[SOMEFEILD]将等于NOTHING

八达兵!一份报告没有纸张浪费的空白页面。

注意:这种方法有一个不好的副作用,因为SQL服务器将发送两次相同的信息,一次填充子报表的数据集,再次填充报表中的重复数据集。对我来说,这是可以接受的,其他人可能想知道这一点。

答案 1 :(得分:0)

此解决方案按预期对我有效,消除了到子仓库的超链接。在您指定子报表名称的部分的“操作”菜单中:

=iif(fields!SomfieldName.Value <> Nothing, "YourSubReportName",Nothing)

简单易用的解决方案!