Sous-rapports (Générateur de rapports et SSRS)Subreports (Report Builder and SSRS)

Un sous-rapport est un élément de rapport qui affiche un autre rapport à l'intérieur du corps d'un rapport principal.A subreport is a report item that displays another report inside the body of a main report. D'un point de vue conceptuel, un sous-rapport d'un rapport ressemble à un cadre d'une page Web.Conceptually, a subreport in a report is similar to a frame in a Web page. Il est utilisé pour incorporer un rapport dans un autre.It is used to embed a report within a report. Vous pouvez utiliser tout rapport comme un sous-rapport.Any report can be used as a subreport. Le rapport affiché en tant que sous-rapport est stocké sur un serveur de rapports, en général dans le même dossier que le rapport parent.The report that is displayed as the subreport is stored on a report server, usually in the same folder as the parent report. Vous pouvez concevoir le rapport parent de sorte qu'il passe des paramètres au sous-rapport.You can design the parent report to pass parameters to the subreport. Un sous-rapport peut être répété au sein de régions de données, en utilisant un paramètre pour filtrer les données de chaque instance du sous-rapport.A subreport can be repeated within data regions, using a parameter to filter data in each instance of the subreport.

Note

Si vous utilisez un sous-rapport dans une région de données de tableau matriciel, le sous-rapport et ses paramètres seront traités pour chaque ligne.If you use a subreport in a tablix data region, the subreport and its parameters will be processed for every row. S'il y a beaucoup de lignes, il convient de déterminer si un rapport d'extraction est plus adapté.If there are many rows, consider whether a drillthrough report is more appropriate.

rs_Subreportrs_Subreport

Dans cette illustration, les informations de contact affichées dans le rapport Sales Order principal proviennent en fait d'un sous-rapport Contacts.In this illustration, the contact information displayed in the main Sales Order report actually comes from a Contacts subreport.

Note

Vous pouvez créer et modifier des fichiers de définition de rapport (.rdl) paginés dans le Générateur de rapports et dans le Concepteur de rapports dans 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. Chaque environnement de création offre différentes possibilités pour créer, ouvrir et enregistrer des rapports et des éléments connexes.Each authoring environment provides different ways to create, open, and save reports and related items.

Comparaison des sous-rapports et des régions de données imbriquéesComparing Subreports and Nested Data Regions

Si vous songez à utiliser des sous-rapports pour afficher des groupes distincts de données, envisagez d'employer à la place des régions de données, par exemple des tableaux, des matrices et des graphiques.If you're thinking of using subreports to display separate groups of data, consider using data regions, such as tables, matrices, and charts, instead. Les rapports contenant seulement des régions de données montrent de meilleures performances que ceux qui comportent des sous-rapports.Reports with data regions only may perform better than reports that include subreports.

Utilisez des régions de données pour imbriquer des groupes de données issues de la même source au sein d'une région de données unique.Use data regions to nest groups of data from the same data source within a single data region. Utilisez des sous-rapports pour imbriquer des groupes de données provenant de sources diverses en une seule région de données, réutiliser un sous-rapport dans plusieurs rapports parents ou afficher un rapport autonome dans un autre rapport.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. Par exemple, vous pouvez créer un « dossier de synthèse » en plaçant plusieurs sous-rapports dans le corps d'un autre rapport.For example, you can create a "briefing book" by placing multiple subreports inside the body of another report.

Les régions de données fournissent une grande partie des fonctionnalités et de la flexibilité des sous-rapports, mais avec de meilleures performances.Data regions provide much of the same functionality and flexibility as subreports, but with better performance. Étant donné que le serveur de rapports traite chaque instance d'un sous-rapport comme un rapport distinct, des problèmes de performance peuvent se produire.Because the report server processes each instance of a subreport as a separate report, performance can be impacted. Pour plus d’informations, consultez Régions de données imbriquées (Générateur de rapports et SSRS).For more information, see Nested Data Regions (Report Builder and SSRS).

Utilisation de paramètres dans des sous-rapportsUsing Parameters in Subreports

Pour passer les paramètres du rapport parent au sous-rapport, définissez un paramètre dans le rapport que vous souhaitez utiliser à titre de sous-rapport.To pass parameters from the parent report to the subreport, define a report parameter in the report that you use as the subreport. Lorsque vous placez le sous-rapport dans le rapport parent, vous pouvez sélectionner le paramètre de rapport et une valeur à passer du rapport parent au paramètre de rapport dans le sous-rapport.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.

Note

Le paramètre que vous sélectionnez à partir du sous-rapport est un paramètre de rapport, et non un paramètre de requête.The parameter that you select from the subreport is a report parameter, not a query parameter.

Vous pouvez placer un sous-rapport dans le corps principal du rapport ou dans une région de données.You can place a subreport in the main body of the report, or in a data region. Si vous le placez dans une région de données, il se répétera avec chaque instance du groupe ou chaque ligne de la région de données.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. Pour passer au sous-rapport une valeur à partir du groupe ou de la ligne, dans la propriété de la valeur, utilisez une expression de champ pour le champ qui contient la valeur à passer au paramètre du sous-rapport.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.

Pour plus d’informations sur l’utilisation des sous-rapports, consultez Ajouter un sous-rapport et des paramètres (Générateur de rapports et SSRS).For more information about working with subreports, see Add a Subreport and Parameters (Report Builder and SSRS).

Spécification des noms et emplacements de sous-rapportsSpecifying Subreport Names and Locations

Vous pouvez concevoir un rapport principal de manière à spécifier un sous-rapport se trouvant dans un dossier différent sur le même serveur de rapports.You can design a main report to specify a subreport in a different folder on the same report server.

La syntaxe utilisée pour spécifier le sous-rapport varie selon que le serveur de rapports est exécuté en mode natif ou en mode intégré SharePoint.The syntax you use to specify the subreport depends on whether the report server is in native mode or SharePoint integrated mode. Pour plus d’informations, consultez Spécification de chemins d’accès à des éléments externes (Générateur de rapports et SSRS).For more information, see Specifying Paths to External Items (Report Builder and SSRS).

Dans le Générateur de rapports, pour afficher un aperçu d'un sous-rapport dans un rapport principal, les deux rapports doivent se trouver sur le même serveur de rapports ou vous devez spécifier un chemin d'accès complet au sous-rapport.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.

Voir aussiSee Also

Extraction, exploration, sous-rapports et régions de données imbriquées (Générateur de rapports et SSRS)Drillthrough, Drilldown, Subreports, and Nested Data Regions (Report Builder and SSRS)