Filter Data
The topics in this section describe different approaches to filtering data in your ProReports
Scope of filters
The application of filters will vary depending upon whether your ProReport is run within Data Access Studio (Report or Databox mode) or in mobie (Databox mode).
Application of filters
If a ProReport is run on DAS, use either a Mapped Parameter to pass parameter values from the ProReport to the underlying DASReport or Data Source filters on the ProReport to filter data from the DASReport at the data-source level. The difference between the two options is when the respective filters are processed and therefore, impact the query performance in varying ways.
- Report/Automator
Within Data Access Studio, you have the option to filter using Mapped Parameters which provide a traditional report-filtering experience based on the underlying standard reports. As you can see from the diagram above, Mapped parameters are applied when fetching the data for the report. - mobie/DataBox
ProReports published to mobie can be filtered at the data-source level. Once published to mobie, you can also view your ProReport in Data Access Studio in DataBox mode. This mode will bypass your reports as a data source and use SQL to access the mobie DataBox directly. This can greatly improve the performance of the design experience for ProReports with large datasets.
DAS and mobie filter support
The filters available for a ProReport depend upon where the ProReport is going to be run.
Report mode - When a ProReport is using underlying reports as its data source. Databox mode - When a ProReport is using DataBox tables as its data source or when a ProReport is opened in mobie.
Filter Data using Mapped Parameters
Supported by: Report mode onlyThis filter provides a direct parameter map from the ProReport to the underlying report parameters, passing the parameter values to the report's parameters. This filter applies the provided parameter values at the database level and will trigger a fetch when the mapped parameter value changes.
Filter Data at the Report Level
Supported by: Report and Databox modesThis filter is applied in the ProReport client after the full dataset is fetched from the database. This works well with small datasets but can cause performance issues within mobie on large amounts of data since the filter is only applied in the client after the full dataset has been fetched from the database.
Filter Data at the Data Source Level
Supported by: Report and Databox modesThis filter is a hybrid which behaves like Report/Band filter strings when used within Data Access Studio but is applied at the database level when the data is fetched within mobie or databox mode.
The amount of data fetched from the database to the web client can be greatly reduced by this filter. This type of filter can be very useful when working with large datasets from the database by reducing the amount of information that is sent over the network.
Unlike Report/Band Filter strings, this type of filter will filter the data provided to all the components of the ProReport, including charts, gauges and pivot tables.Link to Group
Supported by: Report and Databox modesEvery time a control that supports the Link to Group feature is rendered, the group filter value will be appended to the filter string automatically. This applies only to controls in a group header or group footer band.
Limit the Number of Records to Display
Supported by: Report and Databox modesOptions described in this topic allow you to emulate the Top N feature in a sorted report or increase the Print Preview performance by rendering only a subset of a report’s data.
Subreports using filters
When a subreport is used in a ProReport it should be filtered, otherwise the subreport will run wide open. Subreports are filtered from parameters that are passed to the subreport via bound parameters from the top-level ProReport. These bound parameters can then used in the subreport's data source, report, band, or control level filters.
- Subreport filtering
Subreports utilize the same filtering as a normal ProReport with the only difference being how the filter values are passed to the subreport.
ProReports filter its subreports using bound parameters which are handled by the subreport as either 1) a mapped parameter, 2) a data source filter, or 3) a report/band filter string. - Subreport execution
A subreport runs each time its band is executed (e.g. report headers will run once per report where a detail band will run once for each row of data), so when the subreport is placed within a detail band, that subreport will be run for each detail row. Fetching data for mapped parameter filtering behaves the same way in a subreport as it does with a ProReport.