向报表生成器分页报表添加子报表和参数
适用于: Microsoft Report Builder (SSRS) Power BI Report Builder SQL Server Data Tools 中的 Report Designer
当你希望创建作为多个相关报表容器的主报表时,可以向分页报表添加子报表。 子报表是对另一个报表的引用。 要通过数据值关联报表,须将参数化报表设计为子报表。 例如,要让多个报表显示同一客户的数据,可以创建一个报表来显示特定客户的详细信息。 向主报表添加子报表时,可以指定传递给子报表的参数。
还可以向表或矩阵中的动态行或动态列添加子报表。 处理主报表时,会处理每行的子报表。 在这种情况下,请考虑您是否能通过使用数据区域或嵌套数据区域实现所需的效果。
注意
在 SQL Server Data Tools 中,你可以在 Microsoft 报表生成器、Power BI 报表生成器和报表设计器中创建和修改分页报表定义 (.rdl) 文件。
先决条件
- 必须首先创建作为子报表的报表。 有关创建子报表的详细信息,请参阅分页报表中的子报表(报表生成器)。
添加子报表
在“插入”选项卡上,选择“子报表”。
在“设计”图面上,选择报表上的某个位置,然后拖动一个框调整到所需子报表大小。 也可以选择“设计”图面来创建默认大小的子报表。
右键单击子报表,然后选择“子报表属性”。
在“子报表属性”对话框的“名称”文本框中输入名称,或接受默认值。 该名称在报表中必须是唯一的。 默认情况下会分配一个常规名称,例如
Subreport1
或Subreport2
。在“将此报表用作子报表”框中,选择“浏览”,或者输入报表的名称。 将自动指定子报表的路径,因此应优先单击“浏览”。 可以通过多种方式指定报表。 有关详细信息,请参阅指定分页报表中外部项的路径(报表生成器)。
(可选)如果子报表横跨多页,针对“去掉分页符上的边框”选择“是”,就可以避免在子报表中间呈现边框。
选择“确定”。
指定要传递给子报表的参数
在“设计”视图中,右键单击子报表,然后选择“子报表属性”。
在“子报表属性”对话框中,选择“参数”选项卡。
选择 添加 。 将向参数网格添加一个新行。
在 “名称” 文本框中,键入子报表中参数的名称或者从列表框中选择该名称。 该名称必须与子报表中的报表参数的名称(而不是查询参数的名称)相匹配。
在 “值” 列表框中,键入或选择要传递给子报表的值。 此值可以是静态文本、引用字段的表达式或主报表中的其他对象。
注意
在报表生成器中,如果“参数”列表中缺少某参数并且子报表定义了默认值,则会正确处理子报表。
在报表设计器中,子报表所需的所有参数都必须包括在 “参数” 列表中。 如果缺少必需的参数,则子报表无法在主报表中正确显示。
重复步骤 3-5,以便指定每个子报表参数的名称和值。
要删除子报表参数,请选择参数网格中的相应参数,然后选择“删除”。
要更改子报表参数的顺序,请选择相应参数,再选择上移或下移按钮。
更改子报表参数的顺序不会影响子报表的处理。