Subreport basics
Info | ||
---|---|---|
| ||
|
...
Subreports added to the report-header, report-footer or nodata band will be executed once per lifetime of the parent report. If added to the group-header or group-footer, subreports will be executed for every time the group-header and footer are going to be displayed. Subreports added to the itemband will be executed as often as there are rows in the parent report's datasource.
Data-Processing
Whenever reports are executed, the reporting engine calls the data-factory of the report to retrieve the report's data-set. The data-factory receives the query-name and the current values of all declared parameters to allow the parametrization of the data-retrieval. If a subreport is attached to a band that is printed multiple times, the subreport will query the data-factory multiple times, each time with the current values of the master-report.
...
Subreports read the parameter-values from the current data-row of the master-report. Subreport only import values for the columns declared as import parameters. Import parameters can be optionally copied with a different name into the subreport (aliased) to avoid column-naming conflicts.
Parametrization strategies
Whenever multiple instances of a subreport are printed on a single parent report, the data-factory needs additional information to return the correct dataset for the given instance of the subreport. This additional information must be passed to the subreport via parameters.
...
Code Block |
---|
SELECT * FROM INVOICES WHERE INVOICE_NUMBER = ${INVOICE_NUMBER_PARAMETER} |
Controlling the visibility of sub-reports
Pentaho-Reporting offers two ways to influence, whether a sub-report will be visible (and thus will be executed) during the report processing.
...