SSRS报告结构

时间:2012-02-02 22:16:01

标签: reporting-services ssrs-2008

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

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

我是SSRS的新手,我会使用子报告吗?我将如何显示多条记录?

1 个答案:

答案 0 :(得分:3)

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

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

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

关于您的具体问题:获取您要查找的结果的一种方法是使用子报告:

  1. 创建一个旨在仅显示其中一条记录的报告。它应该有一个参数,指示应该显示哪条记录。您可以在开发期间自行运行此报告,以确保获得所需内容。报告中的数据集应仅返回与参数中指定的记录有关的数据。

  2. 一旦您的报告生效,请创建“父”报告。此报告可能有封面,也可能没有任何内容。它应该有一个数据集,可以返回报表中所需记录的所有记录的ID。这些ID需要与子报告中的参数匹配。在父报表中,添加表,并将表连接到数据集。在新表的单元格中,放置子报表。指定子报表的参数,以便将子报表参数的名称连接到ID字段的值。

  3. <强> - 或 -

    上面创建的报告结构对于SSRS的新手来说非常复杂。如果要创建更简单的结构,则应更改数据集。

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

    在报告中,放置一张桌子。在此表中放置您的字段。如果您需要许多布局选项,请将矩形放入该表的单元格中,并使矩形变大。然后,您可以根据需要放置文本框。但我建议您开始尝试将字段拖动到表格中的单元格中。