向报表生成器分页报表添加子报表和参数

适用于: Microsoft Report Builder (SSRS) Power BI Report Builder SQL Server Data Tools 中的 Report Designer

当你希望创建作为多个相关报表容器的主报表时,可以向分页报表添加子报表。 子报表是对另一个报表的引用。 要通过数据值关联报表,须将参数化报表设计为子报表。 例如,要让多个报表显示同一客户的数据,可以创建一个报表来显示特定客户的详细信息。 向主报表添加子报表时,可以指定传递给子报表的参数。

还可以向表或矩阵中的动态行或动态列添加子报表。 处理主报表时,会处理每行的子报表。 在这种情况下,请考虑您是否能通过使用数据区域或嵌套数据区域实现所需的效果。

注意

在 SQL Server Data Tools 中,你可以在 Microsoft 报表生成器、Power BI 报表生成器和报表设计器中创建和修改分页报表定义 (.rdl) 文件。

先决条件

添加子报表

  1. 在“插入”选项卡上,选择“子报表”。

  2. 在“设计”图面上,选择报表上的某个位置,然后拖动一个框调整到所需子报表大小。 也可以选择“设计”图面来创建默认大小的子报表。

  3. 右键单击子报表,然后选择“子报表属性”。

  4. 在“子报表属性”对话框的“名称”文本框中输入名称,或接受默认值。 该名称在报表中必须是唯一的。 默认情况下会分配一个常规名称,例如 Subreport1Subreport2

    “子报表属性”对话框的屏幕截图,其中突出显示了“常规”选项卡上的“名称”字段。

  5. 在“将此报表用作子报表”框中,选择“浏览”,或者输入报表的名称。 将自动指定子报表的路径,因此应优先单击“浏览”。 可以通过多种方式指定报表。 有关详细信息,请参阅指定分页报表中外部项的路径(报表生成器)

  6. (可选)如果子报表横跨多页,针对“去掉分页符上的边框”选择“是”,就可以避免在子报表中间呈现边框

  7. 选择“确定”

指定要传递给子报表的参数

  1. 在“设计”视图中,右键单击子报表,然后选择“子报表属性”

  2. 在“子报表属性”对话框中,选择“参数”选项卡。

  3. 选择 添加 。 将向参数网格添加一个新行。

  4. “名称” 文本框中,键入子报表中参数的名称或者从列表框中选择该名称。 该名称必须与子报表中的报表参数的名称(而不是查询参数的名称)相匹配。

  5. “值” 列表框中,键入或选择要传递给子报表的值。 此值可以是静态文本、引用字段的表达式或主报表中的其他对象。

    “子报表属性”对话框的屏幕截图,其中显示了“参数”选项卡上的一个示例参数。

    注意

    在报表生成器中,如果“参数”列表中缺少某参数并且子报表定义了默认值,则会正确处理子报表。

    在报表设计器中,子报表所需的所有参数都必须包括在 “参数” 列表中。 如果缺少必需的参数,则子报表无法在主报表中正确显示。

  6. 重复步骤 3-5,以便指定每个子报表参数的名称和值。

  7. 要删除子报表参数,请选择参数网格中的相应参数,然后选择“删除”

  8. 要更改子报表参数的顺序,请选择相应参数,再选择上移或下移按钮。

    更改子报表参数的顺序不会影响子报表的处理。