当子报表不包含数据时,也隐藏主报表 - SSRS

时间:2016-05-31 11:11:43

标签: sql reporting-services ssrs-2008 ssrs-2008-r2 ssrs-tablix

我有一个显示订单详细信息的主报告和一个显示订单项详细信息的子报告。在这里,我将orderno作为参数传递给子报表。它按订单号有多个记录组。因此,对于每个订单号,都有单独的记录集。当子报表中的需求值之和为零或空白时,我想隐藏子报表和主报表,供应总和>需求总和。现在我可以使用以下条件隐藏子报告:

=IIF(Sum(IsNothing(Fields!Demand.Value)) OR Sum(Fields!Demand.Value = "") OR
(Sum(Fields!Supply.Value) > Sum(Fields!Demand.Value)), False, True)

但是在这里,主报告数据显示我想要隐藏的内容。如何根据子报表中的值隐藏主报表和子报表? 任何人都可以帮我这样做吗? 提前谢谢......

3 个答案:

答案 0 :(得分:0)

您可以在主报表数据中返回一些标记,例如“DoShow”,然后根据该标记设置可见性以隐藏主报表中的行。

答案 1 :(得分:0)

将子报表数据集复制到主报表数据集并使用相同的表达式进行可见性。

创建另一个程序来设置可见性。

例如:我们可以创建一个存储过程来隐藏“子报表和主报表” - 当子报表中的需求值之和为零或空白时,供应总和>需求总和。

如果您需要更多帮助,请与我们联系。

答案 2 :(得分:0)

  

使用您在主报表中隐藏子报表时使用的相同条件   同样。

我假设您使用单独的Tablix作为主报表和子报表。如果是这样,请右键单击主报告tablix - > tablix属性 - >点击可见性 - >现在点击"显示或隐藏基于表达式"并粘贴在这里用于子报告的IIF条件。这绝对有用。试一试,让我知道它是怎么回事。马克回答是否有效。

干杯和所有最好的