如何添加子报表和参数 (Reporting Services)
当您希望创建作为多个相关报表的容器的主报表时,可以向报表添加子报表。子报表是对另一个报表的引用。若要通过数据值使报表相关联(例如,使多个报表显示同一客户的数据),必须设计参数化报表(例如,显示特定客户详细信息的报表)作为子报表。向主报表添加子报表时,可以指定传递给子报表的参数。
还可以向表或矩阵中的动态行或动态列添加子报表。处理主报表时,会处理每行的子报表。在这种情况下,请考虑您是否能通过使用数据区域或嵌套数据区域实现所需的效果。
添加子报表
在“设计”视图中,单击工具箱中的**“子报表”**。
在设计图面上,单击报表上的某个位置,然后拖动一个框调整到所需子报表大小。此外,也可以双击设计图面来创建固定大小的子报表。
注意 如果项目中已存在子报表,则可以将报表从解决方案资源管理器拖到设计图面,从而创建子报表。
右键单击子报表,然后单击**“子报表属性”**。
在**“子报表属性”对话框的“名称”**文本框中键入名称,或接受默认值。
在**“将此报表用作子报表”**列表框中,键入报表的名称。可以通过下列方式指定报表的名称:
对于此项目中的报表,请从下拉列表中选择报表的名称。
对于发布到配置为本机模式的报表服务器的报表,请使用不带文件扩展名的报表的完整路径或相对路径。如果该报表与当前报表位于同一文件夹中,则只需使用该报表的名称即可。如果该报表位于其他文件夹中,则使用该报表的相对路径(例如,../Reports/DetailReport)。
对于发布到配置为 SharePoint 集成模式的报表服务器的报表,请使用报表名称(包括文件扩展名,如 DetailReport.rdl)。子报表必须与主报表位于同一文件夹。不支持相对路径。
单击“确定”。
指定传递给子报表的参数
在“设计”视图中,右键单击子报表,然后单击**“子报表属性”**。
在**“子报表属性”对话框中,单击“参数”**。
单击**“添加”**。将向参数网格添加一个新行。
在**“名称”文本框中,键入子报表中的参数的名称。此名称必须与子报表中的报表参数名称一致。如果项目中已存在子报表,则可从下拉列表中选择参数。如果该子报表位于报表服务器中,请在报表管理器中运行报表,然后在“属性”选项卡上,单击“参数”**。
注意 该参数名称必须与报表参数(而不是查询参数)的名称相匹配。
在**“值”**列表框中,键入或选择要传递给子报表的值。此值可以是静态文本、指向字段的表达式或主报表中的其他对象。
重复第 3 步和第 4 步指定每个子报表参数的值。
注意 子报表所需的所有参数都必须包括在“参数”列表中。如果缺少必需的参数,子报表将不会在主报表中正确显示。