SSRS使用List Control生成多页报告

时间:2013-01-08 08:58:18

标签: reporting-services listcontrol

我必须创建一个包含多个页面的报告,每个页面都包含一个表格。 报告数据集如下所示:

Col1 | Col2 | Col3 | ...
-----+------+------+----
Val1 | xxxx | xxxx | ...
Val1 | xxxx | xxxx | ...
Val1 | xxxx | xxxx | ...
Val2 | xxxx | xxxx | ...
Val2 | xxxx | xxxx | ...

对于该数据,报告应该有两个页面(一个用于Val1,一个用于Val2)。在每个页面上都应该有一个表格,其中包含Col2,Col3等的相应值。

我正在尝试使用带有表或子报表的List控件来解决这个问题。我遇到的问题是Val1重复列表3次,Val2重复2次(不能在Col1上指定DISTINCT)。

你能告诉我使用表控件或子报表的List控件是否合适?我应该使用两个不同的数据集还是有一种方法可以使用单个数据集?

2 个答案:

答案 0 :(得分:1)

以下步骤可能更容易,因为它不需要额外的包含列表:

  1. 根据需要添加表格
  2. 基于Col1的小组
  3. Add page breaks before each instance of a group(参见最后一节)
  4. Repeat the group headers on each page
  5. 作为旁注,我认为第2步也可以在您目前的列表上执行,也可以有效地解决您遇到的问题。如果您不仅仅包含Col1中每个值的表格(标题,图片,图例等),这可能是首选选项。

答案 1 :(得分:1)

我已经实现了这样的报告:

  • 只需要一个数据集(如上例所示)
  • 报告需要两个报告:MainReport和SubReport
  • MainReport:引用使用数据的存储过程的共享数据集。它包含Col1上带有RowGrouping的列表控件。每一行都包含一个SubReport引用,并将当前的Col1值传递给它。
  • SubReport:使用相同的存储过程但是作为AS EMBEDDED DATASET而不是共享数据集(共享数据集检索导致错误)。数据集按Col1值过滤,等于MainReport的参数。 SubReport包含一个表,用于表示该数据集的数据。

在我的实现中,MainReport有一个报表头,每个页面都会重复。或者,您可以在列表控件上定义标题,并指定它在每个页面上重复。