2012-02-02 145 views
2

我有一个SSRS报告,我将参数传递给。在基本报告中,数据区域显示来自各种数据集的数据。一些数据集返回一行,如主数据集。其他人返回多行。SSRS报告结构

为了解决这个问题,我一直在学习多个有价值的参数。但是,这份报告并没有达到我预期的结果。例如,我想要关于记录一和二的所有数据。我希望报告能给我关于记录1的所有数据,然后再重复所有记录2(新标题等)。但是,我的报告会产生全部记录1,并且有多行将合并所有记录1和2。

我是新来的SSRS,这是我会使用子报表?我将如何去显示多个记录?

回答

3

SSRS不会为每条记录重复整个报告。整个报告只显示一次。

但是在该报告中将重复某些元素。特别是,表(tablix)或列表控件的详细信息行将重复与表关联的数据集中的项目数。

例如,假设您使用TextBox和Table创建了一个报表,然后将一个字段从数据集拖到文本框中,然后将另一个字段从数据集拖到表格的详细信息行中。运行报告时,您将看到一次文本框,其中包含数据集中第一条记录的信息。 (在文本框中,您将看到类似=FIRST(Fields!MyField.Value, "MyDataset")的东西)表格也只会出现一次,但它对于数据集的每一行都会有一行。

到您的具体问题:一种方式来获得你正在寻找的结果是一个报表:

  1. 创建的目的是只显示你的记录中的一个报告。它应该有一个参数来指示应该显示哪条记录。您可以在开发过程中自行运行此报告,以确保获得您想要的结果。报告中的数据集应仅返回与参数中指定的记录有关的数据。

  2. 一旦你得到了该报告的工作,创建一个“父母”的报告。这份报告可能有封面,或者几乎没有任何内容。它应该有一个数据集,用于返回报告中所需的所有记录的ID。这些ID需要与子报告中的参数期望值相匹配。在父报告中,添加一个表格,并将该表格连接到您的数据集。在新表的一个单元格中,放置一个子报表。指定子报表的参数,以便将子报表参数的名称连接到ID字段的值。

- 或 -

您在上面创建的报告的结构是初来乍到SSRS相当复杂。如果你想创建一个更简单的结构,那么你应该改变你的数据集。

将报告缩减为一个数据集。将一条记录的所有数据放入该数据集的一行,然后重复所需的行数以获取需要显示的记录数。 (您可以使用其他数据集来填充参数。)如果某些内容难以进入单个数据集,可以使用Lookup函数检查其他数据集。

在您的报告中,放置一张表格。进入这张桌子放置你的领域。如果您需要大量布局选项,请将矩形放入该表格的一个单元格中,然后将该矩形变大。然后你可以根据需要放置文本框。但我建议您开始试验,只需将字段拖放到表格中的单元格中即可。

+0

我能够使用子报表完成此操作。我只是在解决方案时遇到了一些麻烦,但是您的解释很好地描绘了这幅图片。谢谢! – user1186256 2012-02-07 15:40:37