2010-04-14 141 views
1

我是SQL Server报告服务的新手,并试图破译现有报告。这没什么不好,但我注意到它有两个定义的报告数据集。 (它们是通过单独的存储过程生成的)sql server 2005报告服务 - 如何在报告中使用多个数据集

我想弄清楚在哪里以及如何将报表数据集链接在一起,以便Fields集合具有两组可用的列,并且报表具有单个行集来遍历。报告布局中是否有定义数据集连接的部分?我使用Visual Studio 2005来设计和预览报告fwiw。

感谢您的帮助!

回答

1

因为我看不到报告。我至少可以提出这个建议。许多人使用第二个数据集来选择参数的值。也许你的报告有一个参数使用第二个数据集来显示该参数的选项列表。

+0

嗨,约翰 - 我不相信它使用第二个数据集作为选择值,因为报告中的Fields集合使用了两个数据集字段的混合。但是,似乎其中一个数据集正在报告的页眉/页脚中使用,而另一个则位于中间:详细信息部分和几个分组。我想我仍然有点困惑的一个问题是两个数据集的列在Fields集合中是如何出现的?如果两列具有相同的名称会怎么样? – larryq 2010-04-14 21:34:39

+0

Larry,即使两个数据集具有相同名称的列,数据集的名称也不同。您提到使用一个数据集来填充页眉和页脚内容,另一个数据集正在填充细节。这两个数据集没有链接但分开,在这种情况下可以分开处理。我敢打赌,如果你运行查询填充页眉和页脚的数据集,你可能会出现两行(如果页脚有单独的内容)。 – 2010-04-15 01:30:02

+0

约翰,你是对的,他们正在被分开处理。我对SQL Reporting Services很陌生,以至于我没有意识到每个报表都有自己的可设置的DataSetName属性。我认为Fields集合覆盖了整个报表,就像SQL查询可以连接来自不同表格的列一样。对困惑感到抱歉! – larryq 2010-04-19 15:38:25

2

在很多情况下我们需要从多个数据集中使用。通常这些数据集会得到相同的报告参数并返回结果。例如,假设您有一份报告可以让您获得学生通过的课程列表。在这份报告中你想知道这个学号的最小和最大值。对于此报告,您将获得学生ID作为输入参数,并将此参数传递给第一个数据集并获取传递的课程列表。第二个数据集也得到这个参数来生成学生数的最大值和最小值。

这两个数据集都会得到这个参数。可能这个参数是数据集的共同点。

相关问题