3

我在子报告中有一个主报告

使用报表服务,如何从子报表中获取值到主报表?

我正在根据主报告的 tablix 数据调用子报告。因此,例如,我在主报告上有 tablix,它将@Number 值传递给子报告以获取一些子记录,我希望将总值的总和返回到主报告。我怎么能做到这一点!

我尝试制作一个对我没有帮助的数据集。每次计数为 0。

通过在主报表上创建子报表数据集,我在主报表上使用了以下表达式。

=COUNTROWS("SubReportDataset")

但是,我没有在报告中找到任何有效的解决方案,请帮助。

4

1 回答 1

3

如何通过直接引用子报表来做到这一点

假设您可以通过以下方式访问子报表项

[Reports]![YourReportName]![YourSubReportName]![TheValueFromTheSubReportYouWantToReference]

我过去曾看到过对此类事物的引用,但我从未能够让 reportItems 引用(或此类事物)以我想象的方式始终如一地工作。

当然请记住,您指的是可能重复多次的子报表,您将使用上面的引用提取给定子报表的哪个实例?我想你会发现这比它的价值更麻烦。

我建议你如何处理它

正如我上面所说的,我认为直接引用子报告即使不是不可能也可能是困难和不可靠的。相反,您声明您将@Number 传递到您的子报表中。如果您在子报表中使用视图或函数来基于@Number 提取数据,那么您可以轻松地在主报表中嵌入相同的逻辑和聚合函数。这样,您可以从使用与子报表相同的计算和数据的主报表中的查询引用聚合值。

如果您的子报表未使用视图、函数或共享数据集,并且您不能(或选择不使用)视图、函数或共享数据集(请注意我列出了两次以强调),那么您将无法重现 SQL 查询在主报表中调用查询逻辑并将其聚合到主报表中。这可能是一场维护噩梦(我正在自己的组织中积极尝试将其最小化),因为您必须在两个地方维护相同的 SQL 逻辑。也就是说,根据子报表中 SQL 查询的复杂性,它可以相当容易地完成和完成。

如果您有任何疑问,请将它们作为评论留下,我会尽力提供帮助。

于 2016-04-04T16:54:04.277 回答