Skip to main content
Jump to: navigation, search


Result Set Sharing

This project aims to enable multiple BIRT report items to share the same data binding definition and result set.

Specification Leads

Gary Xue, Actuate Corp. Rima Kanguri, Actuate Corp.

Revision History

2007-4-11 [Gary Xue]: Initial draft


This feature enables multiple report items in a BIRT report to share a single result set. A result set is the runtime data calculated based on a set of data binding definitions, which include:

  • A data set (for tabular result set) or a cube (for cross-tab result set) as the source of data
  • Grouping definition (tabular result set only)
  • Calculations and aggregations based on data set/cube data
  • Filters
  • Sorts

Sharing of result sets permits two or more report items to present different views of the same data, without constraints on the physical placements of these elements. This contrasts with subqueries, which achieves the same effect to a lesser extent, but requires physical containment relationship of related report elements. Result set sharing also permits changes made to the data definition of one report elements to be reflected in other elements sharing the same data. For example, a filter added to a table will also apply to a chart that shares the table’s result set.

Overview of Changes

  1. Filter, sort and group definition in Model will be consolidated into a Data Binding Definition structure. All data-enabled report items (including extended items) will contain this structure.
  2. A report item can reference another report item’s data bindings in lieu of defining its own, thus enabling sharing of the other item’s result set.
  3. Current model’s Group Definition (which only applies to listing items) will be split into two parts: the data group definition (part of Data Binding Definition), and group layout definition (applies to listing items).

Model and Design Engine API Changes

Engine and Data Engine API Changes

Designer UI Changes

Designer needs to introduce the following features (details TBD):

  1. Allow a report item to refer to another report item in its data binding definition
  2. Warn the user that any edits to shared bindings will affect multiple report items
  3. Allow un-sharing of bindings (in which case the shared bindings will be copied to the referring report item).

Back to the top