如何添加子报表和参数 (Reporting Services)

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

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

添加子报表

  1. 在“设计”视图中,单击工具箱中的**“子报表”**。

  2. 在设计图面上,单击报表上的某个位置,然后拖动一个框调整到所需子报表大小。此外,也可以双击设计图面来创建固定大小的子报表。

    注意注意

    如果项目中已存在子报表,则可以将报表从解决方案资源管理器拖到设计图面,从而创建子报表。

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

  4. 在**“子报表属性”对话框的“名称”**文本框中键入名称,或接受默认值。

  5. 在**“将此报表用作子报表”**列表框中,键入报表的名称。可以通过下列方式指定报表的名称:

    • 对于此项目中的报表,请从下拉列表中选择报表的名称。

    • 对于发布到配置为本机模式的报表服务器的报表,请使用不带文件扩展名的报表的完整路径或相对路径。如果该报表与当前报表位于同一文件夹中,则只需使用该报表的名称即可。如果该报表位于其他文件夹中,则使用该报表的相对路径(例如,../Reports/DetailReport)。

    • 对于发布到配置为 SharePoint 集成模式的报表服务器的报表,请使用报表名称(包括文件扩展名,如 DetailReport.rdl)。子报表必须与主报表位于同一文件夹。不支持相对路径。

  6. 单击“确定”。

指定传递给子报表的参数

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

  2. 在**“子报表属性”对话框中,单击“参数”**。

  3. 单击**“添加”**。将向参数网格添加一个新行。

  4. 在**“名称”文本框中,键入子报表中的参数的名称。此名称必须与子报表中的报表参数名称一致。如果项目中已存在子报表,则可从下拉列表中选择参数。如果该子报表位于报表服务器中,请在报表管理器中运行报表,然后在“属性”选项卡上,单击“参数”**。

    注意注意

    该参数名称必须与报表参数(而不是查询参数)的名称相匹配。

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

  6. 重复第 3 步和第 4 步指定每个子报表参数的值。

    注意注意

    子报表所需的所有参数都必须包括在“参数”列表中。如果缺少必需的参数,子报表将不会在主报表中正确显示。