Sottoreport (Generatore report e SSRS)Subreports (Report Builder and SSRS)

Un sottoreport è un elemento del report in cui viene visualizzato un altro report all'interno del corpo del report principale.A subreport is a report item that displays another report inside the body of a main report. A livello concettuale, un sottoreport in un report è simile a un frame in una pagina Web.Conceptually, a subreport in a report is similar to a frame in a Web page. Un sottoreport viene utilizzato per incorporare un report in un altro report.It is used to embed a report within a report. Qualsiasi report può essere utilizzato come sottoreport.Any report can be used as a subreport. Il report visualizzato come sottoreport è archiviato in un server di report, solitamente nella stessa cartella del report padre.The report that is displayed as the subreport is stored on a report server, usually in the same folder as the parent report. È possibile progettare il report padre per il passaggio di parametri al sottoreport.You can design the parent report to pass parameters to the subreport. Un sottoreport può essere ripetuto all'interno di aree dati, utilizzando un parametro per filtrare i dati in ogni istanza del sottoreport.A subreport can be repeated within data regions, using a parameter to filter data in each instance of the subreport.

Nota

Se si utilizza un sottoreport in un'area dati Tablix, il sottoreport e i relativi parametri verranno elaborati per ogni riga dell'area dati nell'area dati.If you use a subreport in a tablix data region, the subreport and its parameters will be processed for every row. Se le righe sono numerose, è consigliabile valutare l'opportunità di utilizzare un report drill-through.If there are many rows, consider whether a drillthrough report is more appropriate.

rs_Subreportrs_Subreport

In questa illustrazione, le informazioni di contatto visualizzate nel report Sales Order principale provengono da un sottoreport Contacts.In this illustration, the contact information displayed in the main Sales Order report actually comes from a Contacts subreport.

Nota

È possibile creare e modificare file di definizioni report impaginati (con estensione rdl) in Generatore report e in Progettazione report di 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. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati.Each authoring environment provides different ways to create, open, and save reports and related items.

Sottoreport e aree dati nidificateComparing Subreports and Nested Data Regions

Se i sottoreport vengono utilizzati per visualizzare gruppi separati di dati, è consigliabile prendere in considerazione l'utilizzo delle aree dati, ovvero tabelle, matrici o grafici.If you're thinking of using subreports to display separate groups of data, consider using data regions, such as tables, matrices, and charts, instead. È possibile che le prestazioni dei report che utilizzano solo le aree dati risultino migliori di quelle dei report che includono sottoreport.Reports with data regions only may perform better than reports that include subreports.

Utilizzare le aree dati per annidare gruppi di dati dalla stessa origine dati all'interno di un'unica area dati.Use data regions to nest groups of data from the same data source within a single data region. I sottoreport sono utili per annidare gruppi di dati da diverse origini dati all'interno di un'unica area dati, riutilizzare un sottoreport in più report padre o visualizzare un report autonomo all'interno di un altro report.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. È possibile, ad esempio, creare un catalogo di prodotti e sottoprodotti inserendo più sottoreport nel corpo di un altro report.For example, you can create a "briefing book" by placing multiple subreports inside the body of another report.

Le aree dati offrono invece un livello di funzionalità e flessibilità analogo a quello dei sottoreport, ma con prestazioni migliori.Data regions provide much of the same functionality and flexibility as subreports, but with better performance. Poiché infatti ogni istanza di un sottoreport viene elaborata dal server di report come report distinto, le prestazioni possono risultare rallentate.Because the report server processes each instance of a subreport as a separate report, performance can be impacted. Per altre informazioni, vedere Aree dati annidate (Generatore report e SSRS).For more information, see Nested Data Regions (Report Builder and SSRS).

Utilizzo di parametri nei sottoreportUsing Parameters in Subreports

Per passare parametri dal report padre al sottoreport, definire un parametro di report nel report utilizzato come sottoreport.To pass parameters from the parent report to the subreport, define a report parameter in the report that you use as the subreport. Quando si inserisce il sottoreport nel report padre, è possibile selezionare il parametro di report e un valore da passare dal report padre al parametro di report nel sottoreport.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.

Nota

Il parametro che si seleziona nel sottoreport è un parametro di report, non un parametro di query.The parameter that you select from the subreport is a report parameter, not a query parameter.

È possibile inserire un sottoreport nel corpo principale del report o in un'area dati.You can place a subreport in the main body of the report, or in a data region. Se si inserisce un sottoreport in un'area dati, il sottoreport verrà ripetuto per ogni istanza del gruppo o riga dell'area dati.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. Per passare un valore dal gruppo o dalla riga al sottoreport, nella proprietà del valore del sottoreport utilizzare un'espressione di campo per il campo contenente il valore che si desidera passare al parametro del sottoreport.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.

Per ulteriori informazioni sull'utilizzo dei sottoreport, vedere aggiungere un sottoreport e i parametri ( Generatore report e SSRS ) .For more information about working with subreports, see Add a Subreport and Parameters (Report Builder and SSRS).

Specifica di nomi e percorsi dei sottoreportSpecifying Subreport Names and Locations

È possibile progettare un report principale per specificare un sottoreport in una cartella diversa nello stesso server di report.You can design a main report to specify a subreport in a different folder on the same report server.

La sintassi utilizzata per specificare il sottoreport dipende dalla modalità del server di report, ovvero nativa o integrata SharePoint.The syntax you use to specify the subreport depends on whether the report server is in native mode or SharePoint integrated mode. Per altre informazioni, vedere Specifica di percorsi di elementi esterni (Generatore report e SSRS).For more information, see Specifying Paths to External Items (Report Builder and SSRS).

In Generatore report, per visualizzare in anteprima un sottoreport in un report principale, entrambi i report devono trovarsi nello stesso server di report oppure è necessario specificare il percorso completo del sottoreport.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.

Vedere ancheSee Also

Drill-through, drill-down, sottoreport e aree dati nidificate ( Generatore report e SSRS )Drillthrough, Drilldown, Subreports, and Nested Data Regions (Report Builder and SSRS)