Claims
- 1. A report definition to be processed by a report processor to generate a report, the report definition including a plurality of data regions arranged on a page, the data regions as arranged on the page in the report definition extending in multiple dimensions selected from a group consisting of across the page, down page and layered on the page.
- 2. The report definition of claim 1 including a pair of data regions arranged to extend side-by-side across the page.
- 3. The report definition of claim 1 including a pair of data regions arranged to be layered one on top of another on the page.
- 4. The report definition of claim 1 including for each data region an identification of a particular data set from which data for the data region is obtained, each data set in turn being obtained from a particular data source.
- 5. The report definition of claim 4 including:
query information on each query necessary to obtain a particular data set; data source information on each particular data source from which a particular data set is to be obtained; and layout information for each data region specifying how to lay out the data region on the page.
- 6. The report definition of claim 5 wherein the layout information for each data region includes a size of the data region, where the data region is to appear on the page, how the data region relates to any other data region, and whether and if so how the data region is layered on top of another data region.
- 7. The report definition of claim 5 wherein the layout information for each data region includes the identification of the data set from which the data for such data region is obtained, and information on how to populate the data region with such data set.
- 8. The report definition of claim 5 wherein the data source information for each particular data source includes a network location of the data source and access parameters to access the data source.
- 9. A report processor for executing a report definition to generate a report therefrom, the report processor comprising:
a data extension for accessing data for the report from a data source based on query information and data source information 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 the data extension; and a rendering extension for rendering the report in a particular rendering format based on the intermediate format of the report.
- 10. The report processor of claim 9 wherein the data extension accesses the data by sending a query to the data source and receiving the data in response.
- 11. The report processor of claim 10 wherein the data extension sends the query to the data source by way of a query processor that performs the query.
- 12. The report processor of claim 9 wherein the report definition includes a plurality of data regions arranged on a page, the data regions as arranged on the page in the report definition extending in multiple dimensions selected from a group consisting of across the page, down page and layered on the page, and wherein the report processor lays out the report in the intermediate format based on each data region defined in the report definition and populates each data region with data therefor.
- 13. The report processor of claim 12 wherein the report definition includes for each data region an identification of a particular data set from which data for the data region is obtained, and wherein the data extension obtains each data set from a particular data source.
- 14. A method of generating a report from a report definition, the method comprising:
determining from data source information in the report definition each data source from which a data set must be obtained to generate the report; determining from query information in the report definition each query that is to be submitted to obtain a corresponding data set and a data source to which the query is to be submitted; for each data set to be obtained based on a query:
selecting a data extension based on the data source for the query; employing the selected data extension to submit the query to the data source, the data source generating and returning the corresponding data set; and receiving such data set; laying out the report based on layout information in the report definition; receiving a selection of a rendering format for the report; selecting a rendering extension corresponding to the selected rendering format; and rendering the report with the selected rendering extension.
- 15. The method of claim 14 comprising:
laying out the report in an intermediate format; and rendering the report with the selected rendering extension based on the intermediate format of the report.
- 16. The method of claim 14 wherein the report definition includes a plurality of data regions arranged on a page, the data regions as arranged on the page in the report definition extending in multiple dimensions selected from a group consisting of across the page, down page and layered on the page, the method comprising:
laying out each data region in the report in the intermediate format; and populating each laid out data region with data associated therewith.
- 17. A computer-readable medium having stored thereon a data structure representing a report definition to be processed by a report processor to generate a report, the report definition including a plurality of data regions arranged on a page, the data regions as arranged on the page in the report definition extending in multiple dimensions selected from a group consisting of across the page, down page and layered on the page.
- 18. The medium of claim 17 wherein the report definition includes a pair of data regions arranged to extend side-by-side across the page.
- 19. The medium of claim 17 wherein the report definition includes a pair of data regions arranged to be layered one on top of another on the page.
- 20. The medium of claim 17 wherein the report definition includes for each data region an identification of a particular data set from which data for the data region is obtained, each data set in turn being obtained from a particular data source.
- 21. The medium of claim 20 wherein the data structure includes:
query information on each query necessary to obtain a particular data set; data source information on each particular data source from which a particular data set is to be obtained; and layout information for each data region specifying how to lay out the data region on the page.
- 22. The medium of claim 21 wherein the layout information for each data region includes a size of the data region, where the data region is to appear on the page, how the data region relates to any other data region, and whether and if so how the data region is layered on top of another data region.
- 23. The medium of claim 21 wherein the layout information for each data region includes the identification of the data set from which the data for such data region is obtained, and information on how to populate the data region with such data set.
- 24. The medium of claim 21 wherein the data source information for each particular data source includes a network location of the data source and access parameters to access the data source.
- 25. A method for executing a report definition to generate a report therefrom, the method comprising:
accessing, by way of a data extension, data for the report from a data source based on query information and data source information in the report definition; laying out, by way of a report processor, the report in an intermediate format based on layout information in the report definition and the data accessed by the data extension; and rendering, by way of a rendering extension, the report in a particular rendering format based on the intermediate format of the report.
- 26. The method of claim 25 comprising the data extension accessing the data by sending a query to the data source and receiving the data in response.
- 27. The method of claim 26 comprising the data extension sending the query to the data source by way of a query processor that performs the query.
- 28. The method of claim 25 wherein the report definition includes a plurality of data regions arranged on a page, the data regions as arranged on the page in the report definition extending in multiple dimensions selected from a group consisting of across the page, down page and layered on the page, the method comprising the report processor laying out the report in the intermediate format based on each data region defined in the report definition and populating each data region with data therefor.
- 29. The method of claim 28 wherein the report definition includes for each data region an identification of a particular data set from which data for the data region is obtained, and wherein the data extension obtains each data set from a particular data source.
- 30. A computer-readable medium having stored thereon computer-executable instruction for performing a method of generating a report from a report definition, the method comprising:
determining from data source information in the report definition each data source from which a data set must be obtained to generate the report; determining from query information in the report definition each query that is to be submitted to obtain a corresponding data set and a data source to which the query is to be submitted; for each data set to be obtained based on a query:
selecting a data extension based on the data source for the query; employing the selected data extension to submit the query to the data source, the data source generating and returning the corresponding data set; and receiving such data set; laying out the report based on layout information in the report definition; receiving a selection of a rendering format for the report; selecting a rendering extension corresponding to the selected rendering format; and rendering the report with the selected rendering extension.
- 31. The medium of claim 30 wherein the method comprises:
laying out the report in an intermediate format; and rendering the report with the selected rendering extension based on the intermediate format of the report.
- 32. The medium of claim 30 wherein the report definition includes a plurality of data regions arranged on a page, the data regions as arranged on the page in the report definition extending in multiple dimensions selected from a group consisting of across the page, down page and layered on the page, the method comprising:
laying out each data region in the report in the intermediate format; and populating each laid out data region with data associated therewith.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application is related to U.S. patent application Ser. No. __/___,___, filed concurrently herewith under Attorney Docket No. MSFT-1530 and entitled “DEFINING A REPORT BASED ON DATA REGIONS AND INCLUDING CUSTOM DATA IN A REPORT DEFINITION”.