# US 7,613,688 B2 · Generating business warehouse reports

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,613,688 B2
- Document ID: US7613688B2
- Status: Granted
- Kind: B2
- Application number: 11/069,143
- Filed: 2005-02-28
- Published: 2006-08-31
- Granted: 2009-11-03
- Earliest claimed: 2005-02-28
- Assignees: Sap SE
- Inventors: Lorenz E. Wiest; Kai Wachter; Karim Mohraz
- Web page: https://patentgrep.com/patent/US7613688B2

## CPC

- G06Q 10/10: Office automation; Time management
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Techniques for generating a report of a plurality of business warehouse system queries are described. Such techniques may identify one or more row types for each query. Thereafter, a template may be defined for each row type within a query that defines a format and a pattern for the row type. The template may be applied to query data for each query according to the row type to generate a sub-report. The sub-reports may be combined to generate an aggregated reports. Related apparatus and computer program products are also provided.

## Claims

### Claim 1

A computer-implemented method comprising:
initiating a plurality of business warehouse system queries;
associating each type of query with a category;
during runtime of each query, identifying one or more row types for each query, and defining a template for each row type within a query from the identified row types, the template defining a format and a pattern for the row type;
applying the template to query data for each query according to the row type to generate a sub-report;
combining at least two sub-reports to generate an aggregated report, the sub-reports being positioned relative to each other within the aggregated report based on the associated category; and
displaying the aggregated report.

### Claim 2 (depends on 1)

A method as in claim 1, further comprising:
reordering the sub-reports within the aggregated report.

### Claim 3 (depends on 1)

A method as in claim 1, further comprising:
generating a plurality of business warehouse system queries from a plurality of heterogeneous data providers.

### Claim 4 (depends on 1)

A method as in claim 1, further comprising aligning columns within each of sub-reports.

### Claim 5 (depends on 1)

A method as in claim 1, further comprising identifying one or more structural elements of the query, wherein the one or more structural elements comprise a dimension, a structure, and a hierarchy.

### Claim 6 (depends on 5)

A method as in claim 5, further comprising identifying combinations of structural elements, wherein the combinations of structural elements comprise any of dimension, structure, and hierarchy.

### Claim 7 (depends on 6)

A method as in claim 6, wherein the identifying of one or more structural elements of the query comprises extracting data from the query.

### Claim 8 (depends on 7)

A method as in claim 7, further comprising:
associating the one or more structural elements of the query with the template; and
generating the aggregated report according to the template.

### Claim 9 (depends on 8)

A method as in claim 8, further comprising:
rendering the aggregated report in a display; and
exporting the aggregated report.

### Claim 10 (depends on 1)

A method as in claim 1, wherein there a plurality of queries and a plurality of aggregated reports, wherein each aggregated report comprises a number of rows and a number of columns, each intersection of a row and a column comprising a cell, and each of the queries being a query of a selection of data at a data provider where there is at least a one to one relationship between the plurality of queries and a plurality of data providers and each of the data providers provides data in a different format such that formats of the data providers are incompatible for a single query.

### Claim 11

A system for generating a report of a plurality of business warehouse system queries, the system comprising:
a database to store business warehouse data from a plurality of heterogeneous data providers;
a computing system to execute a report designer program, the report designer program
being responsive to user input from an input device, to: associate each query with a category; identify one or more row types for each query;
define a template for each row type from the identified row types, wherein the template defines a format and a pattern for the row type;
apply the template to query data for each query according to the row type to generate a sub-report; and
combine at least two sub-reports to generate an aggregate report based on two or more queries, the sub-reports being positioned relative to each other within the aggregated report based on the associated category; and
a display, coupled to the computing system, configured to display the aggregated report.

### Claim 12 (depends on 11)

A system as in claim 11, wherein the report designer program is configured to be delivered from a website, wherein the report designer program is further configured to be stored on a client computer.

### Claim 13 (depends on 12)

A system as in claim 12, wherein the report designer program is operable to use a graphical user interface to generate one or more reports.

### Claim 14 (depends on 13)

A system as in claim 13, wherein the template is configured to define user-selectable formatting and layout of the report based on one or more sub-reports.

### Claim 15 (depends on 14)

A system as in claim 14, wherein the report designer program is configured to define rules for one or more data objects in the report.

### Claim 16 (depends on 14)

A system as in claim 14, wherein the report designer program comprises one or more drag and drop functions for one or more formats to be applied to the template.

### Claim 17 (depends on 16)

A system as in claim 16, wherein the one or more drag and drop functions comprise any of a property box to select properties of a report rendering and a format box to represent one or more formatting objects to be applied to individual cells or rows of the report.

### Claim 18

A computer program product, stored on a tangible machine-readable medium, the computer program product comprising instructions operable to cause data processing apparatus to:
design, by the data processing apparatus, a report of a plurality of business warehouse queries comprising:
for each query:
associate the query with a category; identify a row type for a row or a row group in a report; define a row pattern template for each row type;
identify one or more structural elements of the query, wherein the one or more structural elements comprise a dimension, a structure, and a hierarchy;
associate a structural template for each of the one or more structural elements;
and
render a sub-report associated with the query according to one or more templates, wherein the one or more templates comprise any of the row pattern template and the structural template; and
combine, by the data processing apparatus, each of the sub-reports to generate an aggregated report, the sub-reports being positioned relative to each other within the aggregated report based on the associated category; and
display the aggregated sub-report.

### Claim 19 (depends on 18)

A computer program as in claim 18, wherein the design of the report further comprises exporting the rendered report.

### Claim 20 (depends on 18)

A computer program as in claim 18, wherein the row pattern template is defined at runtime.
