如何在多页SSRS报告中添加子报告?

时间:2012-12-07 10:20:04

标签: sql-server reporting-services

我们正在使用SQL Server Reporting Services来处理报告。我们有一份由几个子报告组成的报告。为简单起见,让我们说汽车。每辆车都有它自己的零件清单。一对多的关系。

所以在汽车报告中,有所有汽车信息 - 以及子报告,零件清单。这适用于单个汽车,因为只有一个Car.ID,可以作为参数传递,以过滤特定汽车的零件清单。

但是,如果报告中指定了几辆车,我们希望每辆车都在其自己的页面上。与它自己的部分列表。

我已经看了一眼我正在努力解决这个问题。我正在研究的解决方案涉及将所有内容放在List控件中,在每条记录之后添加分页符。然后为数据集中的每个项目添加行号,然后匹配页面编号和子编号的行号。

我觉得这是一个更简单的方法,我忽略了这一点。或者如果没有,我怎样才能匹配页码和行号?我尝试过使用查找功能 -

=Lookup(=Fields!Page.Value, =Globals!PageNumber, =Fields!ID.Value, "DataSet1")

但是,这会返回一个错误,即Globals!PageNumber变量仅对页眉/页脚部分可用。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

没关系,我是一个白痴,完全使它复杂化。

如果其他人发现它有用,请按以下步骤操作。

  1. 创建子报告,将记录的ID指定为参数。

  2. 创建主要的封装报告。

  3. 向页面添加列表控件,转到Tablix属性并添加分页符。

  4. 将子报告添加到列表控件

  5. 使用字段集合指定identity参数的值 - 在本例中: =字段!ID.Value

  6. 测试报告,然后坐下来,不要考虑我试图制作它有多复杂。