如果没有数据,如何抑制子报表?

时间:2013-05-13 20:08:07

标签: sql-server-2008 reporting-services

以下解决方案由用户Brian发布,了解如何在SSRS2008中抑制空子报告。答案是将子报表放在一个矩形中。然后将矩形的可见性设置为如下所示:

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

我尝试了推荐的表达式,但它没有用。表达式没有意义,因为我不认为矩形具有构成数据集的字段而不是它是一个对象。那么我如何在表达式样本中引用矩形中的字段值?对我来说,[SOMEDATASET]会是什么?

注意:我将子报表放在一个矩形中。子报表有一个名为DataSet1的数据集,其中包含三个字段。

1 个答案:

答案 0 :(得分:0)

主报表中的数据集应查询与子报表中的数据相同的数据。为了保持干燥,您可以使用视图或存储过程作为两个报告的基础。为了保持性能良好,主报告的DataSet可以通过以下方式获得:

SELECT COUNT(*) FROM vw_SomeViewForSubreport

然后在子报告中使用它:

SELECT field1, field2, field3 FROM vw_SomeViewForSubreport