Вложенные отчеты (построитель отчетов и службы SSRS)Subreports (Report Builder and SSRS)

Вложенный отчет представляет собой элемент отчета, отображающий другой отчет в тексте главного отчета.A subreport is a report item that displays another report inside the body of a main report. Концептуально вложенный отчет в отчете напоминает фрейм на веб-странице.Conceptually, a subreport in a report is similar to a frame in a Web page. Он используется для внедрения отчета в другой отчет.It is used to embed a report within a report. В качестве вложенного отчета можно использовать любой отчет.Any report can be used as a subreport. Отчет, отображаемый в качестве вложенного отчета, обычно хранится на сервере отчетов в той же папке, что и родительский отчет.The report that is displayed as the subreport is stored on a report server, usually in the same folder as the parent report. Можно настроить родительский отчет таким образом, чтобы он передавал вложенному отчету параметры.You can design the parent report to pass parameters to the subreport. Вложенный отчет может повторяться в пределах областей данных с использованием параметра для фильтрации данных в каждом экземпляре вложенного отчета.A subreport can be repeated within data regions, using a parameter to filter data in each instance of the subreport.

Примечание

Если вложенный отчет используется в области данных табликса, то сам вложенный отчет и его параметры будут обрабатываться для каждой строки.If you use a subreport in a tablix data region, the subreport and its parameters will be processed for every row. Если количество строк велико, рассмотрите возможность создания детализированного отчета.If there are many rows, consider whether a drillthrough report is more appropriate.

rs_Subreportrs_Subreport

На данной иллюстрации контактная информация, отображаемая в главном заказе на продажу, на самом деле поступает из вложенного отчета «Контакты».In this illustration, the contact information displayed in the main Sales Order report actually comes from a Contacts subreport.

Примечание

Создать и изменить разбитое на страницы определение отчета (RDL-файл) в SQL Server Data Tools можно с помощью построителя отчетов и конструктора отчетов.You can create and modify paginated report definition (.rdl) files in Report Builder and in Report Designer in SQL Server Data Tools. В каждой среде разработки существуют различные способы создания, открытия и сохранения отчетов и связанных элементов.Each authoring environment provides different ways to create, open, and save reports and related items.

Сравнение вложенных отчетов и вложенных областей данныхComparing Subreports and Nested Data Regions

Если планируется использовать для отображения отдельных групп данных вложенные отчеты, рассмотрите возможность использования вместо них областей данных (например, таблиц, матриц и списков).If you're thinking of using subreports to display separate groups of data, consider using data regions, such as tables, matrices, and charts, instead. Отчеты, содержащие области данных, работают быстрее, чем отчеты, включающие вложенные отчеты.Reports with data regions only may perform better than reports that include subreports.

Области данных можно использовать для вложения нескольких групп данных из одного и того же источника данных в одну область данных.Use data regions to nest groups of data from the same data source within a single data region. Для вложения групп данных из различных источников данных в одну область данных, повторного использования вложенного отчета в нескольких родительских отчетах или отображения отдельного отчета внутри другого отчета следует использовать вложенные отчеты.Use subreports to nest groups of data from different data sources within a single data region, reuse a subreport in multiple parent reports, or display a standalone report inside of another report. Например, можно создать «информационный бюллетень», поместив несколько вложенных отчетов в текст другого отчета.For example, you can create a "briefing book" by placing multiple subreports inside the body of another report.

Области данных в целом обеспечивают ту же функциональность и гибкость, что и вложенные отчеты, но области данных значительно более эффективны с точки зрения производительности.Data regions provide much of the same functionality and flexibility as subreports, but with better performance. Поскольку каждый экземпляр вложенного отчета обрабатывается как отдельный отчет, это может повысить нагрузку на сервер отчетов.Because the report server processes each instance of a subreport as a separate report, performance can be impacted. Дополнительные сведения см. в разделе Вложенные области данных (построитель отчетов и службы SSRS).For more information, see Nested Data Regions (Report Builder and SSRS).

Использование параметров во вложенных отчетахUsing Parameters in Subreports

Чтобы передать во вложенный отчет параметры из родительского отчета, определите параметр отчета в отчете, который используется в качестве вложенного.To pass parameters from the parent report to the subreport, define a report parameter in the report that you use as the subreport. При включении вложенного отчета в родительский можно выбрать параметр отчета и значение, которое будет передаваться из родительского отчета параметру вложенного отчета.When you place the subreport in the parent report, you can select the report parameter and a value to pass from the parent report to the report parameter in the subreport.

Примечание

Параметр, выбираемый из вложенного отчета, должен представлять собой параметр отчета, а не параметр запроса.The parameter that you select from the subreport is a report parameter, not a query parameter.

Вложенный отчет можно поместить в основную часть отчета или в область данных.You can place a subreport in the main body of the report, or in a data region. Если поместить вложенный отчет в область данных, он будет повторяться с каждым экземпляром группы или строки в области данных.If you place a subreport in a data region, the subreport will repeat with each instance of the group or row in the data region. Для передачи во вложенный отчет значения из группы или строки используйте в свойстве значения вложенного отчета выражение поля для поля, содержащего значение, которое необходимо передать в качестве параметра вложенного отчета.To pass a value from the group or row to the subreport, in the subreport value property, use a field expression for the field containing the value you want to pass to the subreport parameter.

Дополнительные сведения о работе с вложенными отчетами см. в разделе Добавление вложенного отчета и параметров (построитель отчетов и службы SSRS).For more information about working with subreports, see Add a Subreport and Parameters (Report Builder and SSRS).

Указание имен и расположения вложенных отчетовSpecifying Subreport Names and Locations

Основной отчет можно настроить таким образом, чтобы он ссылался на вложенный отчет, расположенный в другой папке на том же сервере отчетов.You can design a main report to specify a subreport in a different folder on the same report server.

Синтаксис, используемый для указания вложенного отчета, зависит от того, работает ли сервер отчетов в собственном режиме или в режиме интеграции с SharePoint.The syntax you use to specify the subreport depends on whether the report server is in native mode or SharePoint integrated mode. Дополнительные сведения см. в разделе Указание путей к внешним элементам (построитель отчетов и службы SSRS).For more information, see Specifying Paths to External Items (Report Builder and SSRS).

В построителе отчетов для предварительного просмотра вложенного отчета в основном отчете оба отчета должны находиться на одном сервере отчетов либо нужно указать полный путь к вложенному отчету.In Report Builder, to preview a subreport in a main report, both reports must be located in the same report server, or you must specify a full path to the subreport.

См. также:See Also

Детализация, углубленная детализация, вложенные отчеты и вложенные области данных (построитель отчетов и службы SSRS)Drillthrough, Drilldown, Subreports, and Nested Data Regions (Report Builder and SSRS)