以下解决方案由用户Brian发布,了解如何在SSRS2008中抑制空子报告。答案是将子报表放在一个矩形中。然后将矩形的可见性设置为如下所示:
=IIF(First(Fields![SOMEFEILD].Value, "[SOMEDATASET]") IS NOTHING, TRUE, FALSE)
我尝试了推荐的表达式,但它没有用。表达式没有意义,因为我不认为矩形具有构成数据集的字段而不是它是一个对象。那么我如何在表达式样本中引用矩形中的字段值?对我来说,[SOMEDATASET]
会是什么?
注意:我将子报表放在一个矩形中。子报表有一个名为DataSet1的数据集,其中包含三个字段。
答案 0 :(得分:0)
主报表中的数据集应查询与子报表中的数据相同的数据。为了保持干燥,您可以使用视图或存储过程作为两个报告的基础。为了保持性能良好,主报告的DataSet可以通过以下方式获得:
SELECT COUNT(*) FROM vw_SomeViewForSubreport
然后在子报告中使用它:
SELECT field1, field2, field3 FROM vw_SomeViewForSubreport