Patent ID: 7331015

Claim:
A report processor for executing a report definition to generate a report therefrom, the report processor comprising: a plurality of extensible data extensions stored in a memory, each data extension for being selected to access particular data for the report from a particular data source based on query information and data source information for the particular data in the report definition, the report processor laying out the report in an intermediate format based on layout information in the report definition and the data accessed by each data extension; and a plurality of extensible rendering extensions stored in the memory, each rendering extension for being selected by a user of the report processor to render the report in a particular rendering format based on the intermediate format of the report, the report definition including a plurality of data regions arranged on a page, each data region having a predefined position on the page, a predefined height in a direction from top to bottom on the page, and a predefined width in a direction from side to side on the page, each data region further having data organized into one of a plurality of data representations to visually present the data as a distinct grouping, wherein the plurality of data regions comprise a parent data region and at least one child data region, wherein each child data region derives from the parent data region and includes a subset of data included in the parent data region, wherein the report processor lays out the report in the intermediate format based on the parent data region and each child data region defined in the report definition and populates each data region with data therefor, and wherein, each time the report is laid out, the number of child data regions in the report automatically corresponds to the number of data subsets currently in the parent data region.