SSRS 子报表

在 SSRS 中,子报表允许我们在数据区域中添加一个或多个相关的报表。以下是子报表的一些优点

  • 使我们能够在一个报表中添加多个相关报表。
  • SSRS 子报表允许我们将一个报表嵌套或插入到另一个报表中。
  • 此外,它还允许我们将参数(参数值)从主报表传递到子报表。
  • 如果您将子报表放在表或矩阵中,那么子报表将为每一行重复显示。否则,它将显示一次。

SSRS 子报表示例

在此示例中,我们将向您展示如何通过示例在表格报表中创建 SSRS 子报表。

对于这个子报表示例,我们将使用下面显示的报表。请参阅表格报表文章,以了解我们在共享数据源数据集中使用的内容,以及此SQL Server Reporting Services报表。

Sample Report 1

下面的屏幕截图显示了第二个报表,这是我们将要在主报表(子报表)中显示的报表。请参阅数据条文章,了解我们在该报表中使用的数据源数据集,我们还进行了一些格式设置

如果您仔细观察,它只是一个带有基本参数及其默认值(澳大利亚)的普通报表。

Data Bar Chart 2

首先,我们将隐藏参数,因为我们将把参数值从主报表传递到此子报表。要隐藏参数,请右键单击参数,然后选择“报表属性”选项。

在“常规”选项卡中,请将参数可见性选项从“可见”更改为“隐藏”,如下图所示。

在将 SSRS 中的子报表嵌套之前,我们需要在表中插入一个空行。因此,从 Tablix 中选择详细信息行,右键单击它以打开上下文菜单。在上下文菜单中,请选择“插入行”选项,然后选择“组内 - 向下”,如下图所示。

Insert Row Group 2

选择“组内 - 向下”选项后,会在表中添加新的一行。

SSRS Subreports 3

从上面的屏幕截图中可以看到,新创建的行被分成两个单元格,但我们需要一个单元格来添加子报表。

为此,请选择整行,右键单击它,然后选择“合并单元格”选项,如下图所示。

Merge Cells 4

现在您会注意到我们有一个长单元格可以容纳子报表。让我们将子报表添加到此单元格中。

Subreports 5

有两种添加子报表的方法。

添加 SSRS 子报表的第一种方法

首先,我们可以将子报表从工具箱拖放到空单元格中,如下图所示。

Drag Subreport from toolbox 6

添加 SSRS 子报表的第二种方法

右键单击空单元格,然后选择“插入”选项,然后选择“子报表”选项。

Insert Subreport in to the report 7

选择“子报表”选项后,会将一个空的子报表添加到表中。

现在,我们需要将我们的报表添加到此子报表区域。因此,右键单击子报表,然后从上下文菜单中选择“子报表属性...”选项。

Subreports properties 8

选择“子报表属性...”选项会打开一个新窗口来选择报表。目前,我们选择“已抛光的数据条”报表,如下图所示。

选择所需的报表后,我们需要为 SSRS 子报表的参数(如果有)分配值。要添加参数,请转到“参数”选项卡,然后单击“添加”按钮。

在“名称”部分下,请选择子报表的参数名称。

Subreport Parameters 10

接下来,我们需要为选定的参数分配正确的值。在此,`ParaCountry` 参数需要国家名称。因此,我们从主报表中选择了 `[Sales Territory Country]` 列。

注意:如果您在主报表中找不到确切的列,请使用 fx 按钮创建一个。

Subreport parameter and value 11

单击“确定”以完成在表格报表中创建子报表。

通过单击预览选项卡,让我们查看子报表报表的预览。

Subreports in SSRS 13

从上面的屏幕截图中可以看到,子报表已正确嵌套在主报表中。请不要介意颜色组合。