Systems and methods for flexible report designs including table, matrix and hybrid designs
First Claim
1. A processor implemented method for designing and generating a report, comprising:
- declaring, in a report design, data to be placed in at least one column, wherein said declaring comprises at least one first word and further comprises a first human readable declarative marking comprising a non-word marking applied to the at least one first word to indicate whether or not the at least one column can be automatically expanded into a plurality of columns when generating a report from said report design, as necessary to dynamically accommodate present and future data in a database that is identifiable by said at least one first word;
declaring, in the report design, data to be placed in at least one row, wherein said declaring comprises at least one second word and further comprises a second human readable declarative marking comprising a non-word marking applied to the at least one second word to indicate whether or not the at least one row can be automatically expanded into a plurality of rows when generating said report from said report design, as necessary to dynamically accommodate present and future data in said database that is identifiable by said at least one second word;
declaring, in the report design, data to be placed in at least one nested row, wherein said declaring comprises at least one third word and further comprises a third human readable declarative marking comprising a non-word marking applied to the at least one third word to indicate whether or not the at least one nested row can be automatically expanded into a plurality of nested rows when generating said report from said report design, as necessary to dynamically accommodate present and future data in said database that is identifiable by said at least one third word;
processing said report design using report processing software to query said database for said data to be placed in at least one column, for said data to be placed in at least one row, and for said data to be placed in at least on nested row;
interpreting data retrieved from said database by at least one data extension of a plurality of data extensions included in said report processing software, each data extension corresponding to a type of data source;
generating said report by said report processing software, wherein said generating comprises at least responding to said first declarative marking by generating a plurality of columns to dynamically accommodate data in said database that is identifiable by said at least one first word; and
rendering said report in an output file format by at least one rendering extension of a plurality of rendering extensions included in said report processing software, each rendering extension corresponding to a report output type.
2 Assignments
0 Petitions
Accused Products
Abstract
Columns and/or rows of a report can be declaratively defined as either dynamic or static. The declarative definition can be represented by any marking. If a column or row is declaratively designated as dynamic, it can be expanded into a plurality of columns or rows. If a column or row is designated as static, it remains as a single column or row to represent only the specified column or row data. Subgroups of columns and rows can also be declaratively defined as dynamic or static. A static column or row may contain no sub-columns/rows, or it may contain a plurality of static columns/rows, a plurality of dynamic columns/rows, or any combination of both. Similarly, a dynamic column or row may also contain the above combinations.
80 Citations
21 Claims
-
1. A processor implemented method for designing and generating a report, comprising:
-
declaring, in a report design, data to be placed in at least one column, wherein said declaring comprises at least one first word and further comprises a first human readable declarative marking comprising a non-word marking applied to the at least one first word to indicate whether or not the at least one column can be automatically expanded into a plurality of columns when generating a report from said report design, as necessary to dynamically accommodate present and future data in a database that is identifiable by said at least one first word; declaring, in the report design, data to be placed in at least one row, wherein said declaring comprises at least one second word and further comprises a second human readable declarative marking comprising a non-word marking applied to the at least one second word to indicate whether or not the at least one row can be automatically expanded into a plurality of rows when generating said report from said report design, as necessary to dynamically accommodate present and future data in said database that is identifiable by said at least one second word; declaring, in the report design, data to be placed in at least one nested row, wherein said declaring comprises at least one third word and further comprises a third human readable declarative marking comprising a non-word marking applied to the at least one third word to indicate whether or not the at least one nested row can be automatically expanded into a plurality of nested rows when generating said report from said report design, as necessary to dynamically accommodate present and future data in said database that is identifiable by said at least one third word; processing said report design using report processing software to query said database for said data to be placed in at least one column, for said data to be placed in at least one row, and for said data to be placed in at least on nested row; interpreting data retrieved from said database by at least one data extension of a plurality of data extensions included in said report processing software, each data extension corresponding to a type of data source; generating said report by said report processing software, wherein said generating comprises at least responding to said first declarative marking by generating a plurality of columns to dynamically accommodate data in said database that is identifiable by said at least one first word; and rendering said report in an output file format by at least one rendering extension of a plurality of rendering extensions included in said report processing software, each rendering extension corresponding to a report output type. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer readable storage medium comprising instructions that are executable by a computer for processing reports, said instructions comprising:
-
instructions for reading a report design; instructions for recognizing a first word and a first human readable declarative marking comprising a non-word marking applied to the first word in said report design, wherein said first declarative marking is associated with at least one column, and wherein said first declarative marking indicates whether the at least one column can be automatically expanded into a plurality of columns when generating a report from said report design, as necessary to dynamically accommodate present and future data in a database that is identifiable by said first word; instructions for generating a plurality of columns as necessary to dynamically accommodate data in said database that is identifiable by said first word when the first declarative marking associated with said at least one column is recognized; instructions for recognizing a second word and a second human readable declarative marking comprising a non-word marking applied to the second word and associated with at least one nested column, wherein said second declarative marking indicates whether the at least one nested column can be automatically expanded into a plurality of nested columns when generating said report from said report design, as necessary to dynamically accommodate present and future data in said database that is identifiable by said second word; instructions for generating said plurality of nested columns as necessary to dynamically accommodate data in said database that is identifiable by said second word when the second declarative marking associated with said at least one nested column is recognized; instructions for recognizing a third word and a third human readable declarative marking comprising a non-word marking applied to the third word in said report design, wherein said third declarative marking is associated with at least one row, and wherein said third declarative marking indicates whether the at least one row can be automatically expanded into a plurality of rows when generating said report from said report design, as necessary to dynamically accommodate present and future data in said database that is identifiable by said third word; instructions for generating a plurality of rows as necessary to dynamically accommodate data in a database that is identifiable by said third word when the third declarative marking associated with said at least one row is recognized; instructions for processing said report design using report processing software to query said database for data identifiable by said first word, second word, and third word; instructions for interpreting data retrieved from said database by at least one data extension of a plurality of data extensions included in said report processing software, each data extension corresponding to a type of data source; instructions for generating said report by said report processing software, wherein said generating comprises at least responding to said first declarative marking by generating a plurality of columns to dynamically accommodate data in said database that is identifiable by said at least one first word; and instructions for rendering said report in an output file format by at least one rendering extension of a plurality of rendering extensions included in said report processing software, each rendering extension corresponding to a report output type. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A processor-means for designing and generating reports using declarative markings to indicate dynamic and static columns and rows, comprising:
-
means creating a report design; means for placing a first word and a first human readable declarative marking comprising a non-word marking applied to the first word in a column in said report design, wherein said first human readable declarative marking declares whether said column is a dynamic column, and wherein a dynamic column can be automatically expanded into a plurality of columns by report processing software when generating a report from said report design, as necessary to accommodate data in a database that is identifiable by said first word; means for placing a second word and a second human readable marking comprising a non-word marking applied to the second word in a nested column in said report design, wherein said first human readable declarative marking declares whether said nested column is a dynamic nested column, and wherein a dynamic nested column can be automatically expanded into a plurality of nested columns by report processing software when generating a report from said report design, as necessary to accommodate data in a database that is identifiable by said second word; means for placing a third word and a third human readable marking comprising a non-word marking applied to the third word in a row in said report design, wherein said third human readable declarative marking declares whether said row is a dynamic row, and wherein a dynamic row can be automatically expanded into a plurality of rows by report processing software when generating a report from said report design, as necessary to accommodate data in a database that is identifiable by said third word; means for processing said report design using report processing software to query said database for data identifiable by said first word, second word, and third word; means for interpreting data retrieved from said database by at least one data extension of a plurality of data extensions included in said report processing software, each data extension corresponding to a type of data source; means for generating said report by said report processing software, wherein said generating comprises at least responding to said first declarative marking by generating a plurality of columns to dynamically accommodate data in said database that is identifiable by said at least one first word; and means for rendering said report in an output file format by at least one rendering extension of a plurality of rendering extensions included in said report processing software, each rendering extension corresponding to a report output type. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
Specification