我正在SSRS 2008中创建一个“主”报告,该报告与其他人的报告进行协作。有时并非所有其他报告都是相关的,因此没有任何回报。我希望能够从主报告中排除这一点,因此它不会留下空白页面。
我知道'no-rows-message'功能,但只有“不适用于此人”的整页不是最佳解决方案!
基本上我正在寻找一种方法来确定子报告是否为“空”并在可见性表达式中使用它。
非常感谢任何帮助
答案 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)
简单易用的解决方案!