8

我有两个本地数据源可以推送到报告中。工作没问题。但是如何设置报告?一个数据源包含员工列表以及有关他们的信息。另一个包含每个员工的大量工作时间。

我想为员工列表使用一个表格,然后在每个员工下方的工作时间(以及他们的工作时间)下使用另一个表格。

这甚至可能吗?我必须使用子报告吗?我是否必须将它们合并到一个数据源中?=/

4

4 回答 4

5

据我所知,如果不使用子报表,就不可能将一个数据集嵌套在另一个数据集中。

这意味着您需要做以下两件事之一:

  1. 将您的两个数据源重构为一个数据源。例如,在员工和每个员工的工作时间之间执行联接。然后,您可以使用 Table 对象的分组属性以您想要的方式格式化列表。

  2. 如果连接两个数据源不切实际,您可以使用子报表来完成您想要的操作。创建一个包含工作时间数据源的子报表,并为其提供当前员工的参数。按此参数过滤工作时间。

    在您的父报表中,您可以将子报表放在列表中,并将当前行的员工 ID 作为参数传递。

    请注意,使用子报表会涉及一些格式问题。在大多数情况下,我已经能够解决它们,但首选方法肯定是上面的第一名。

于 2009-05-01T15:55:38.647 回答
5

添加新答案以确保为其发送通知。

使用子报表是最简单的方法。您可以简单地将子报表拖放到表格单元格上,它将填充该单元格的内容区域。右键单击子报表将允许您编辑子报表的参数。与 SSRS 中的大多数值一样,可以将参数设置为使用表中字段的表达式。

在子报表中,只需过滤您的结果以仅显示与作为参数传入的员工关联的记录。

您可以采取的另一条路线是使用联接合并您的两个数据源。这将为您提供如下数据:

employee1 time1.1
employee1 time1.2
employee1 time1.3
employee1 time1.4
employee2 time2.1
employee2 time2.2
employee2 time2.3

然后,您可以在重复的列(本示例中为员工)上创建一个组,并在这些列上启用 HideDuplicates 属性。结果将如下所示:

employee1 time1.1
          time1.2
          time1.3
          time1.4
employee2 time2.1
          time2.2
          time2.3
于 2009-05-04T15:10:47.793 回答
1

要设置多个数据源...您需要将两个单独的列表对象放入报表中。转到设计器,在工具箱中,您可以将新的“列表”放入其中。然后,你可以做另一个报告。将第二个列表链接到您通过辅助数据源实现的辅助数据集。

这有点牵强,但基本思想是报表中的每个列表对象只能链接到一个数据源。

于 2009-04-28T12:49:26.403 回答
0

在报表文档类中有一个名为“Database”的属性,它有一个表的集合。您可以在这些表中的每一个上使用“SetDataSource”,以便将单独的对象列表放入报告中。

于 2010-06-01T16:11:24.563 回答