Cross tab analysis and reporting method
First Claim
1. A method of using a computer for converting a first cross-tabulated report having a first presentation of a set of a plurality of source data records into a second cross-tabulated report having a second presentation of the set of source data records, wherein each source data record includes a same plurality of fields of data facts, and further wherein the first presentation represents a first relationship between the fields and the second presentation represents a second relationship between the fields, the method comprising the steps of:
- a. forming a data structure corresponding to the first relationship including a plurality of aggregating nodes, and relationship data regarding relationships within the data structure between the aggregating nodes;
b. modifying the relationship data corresponding to the second relationship, thereby rearranging the aggregating nodes and changing the relationships within the data structure between the aggregating nodes and updating the corresponding aggregate values according to the second relationship without reaccessing the source data records, thereby forming a modified data structure;
and c. forming the second cross-tabulated report from the modified data structure.
5 Assignments
0 Petitions
Accused Products
Abstract
A method of and apparatus for preparing and modifying cross-tabulation analysis and reporting utilizes a data structure for storing aggregate data, gathered or input from a stream of data records. The data structure stores the aggregates of the data values, so that as cross-tab reports are generated, access to the original stream of data records is not necessary. Preferably, a tree-type data structure is utilized. The tree-type data structure is arranged relative to a root. The root of the tree is the first node in the tree. It has no parent node and no sibling nodes. Directly related to the root of the tree are labels of a first level. Labels of a second level and then labels of succeeding levels may follow, as required. Each level includes multiple nodes corresponding to the arrangement of the data. Each node has an array of accompanying cell in which the aggregates of the data values are stored. As the cross-tab report is modified, the tree-type data structure is also correspondingly modified by either changing the pointers between levels and nodes or by rearranging the levels. The aggregate values are then updated accordingly. A cross-tree is also maintained with the same structure as the main tree except that the cross-tree does not include the side label levels or nodes. When the labels of the cross-tab report are rearranged or removed, preferably the data structure is modified in place. Alternatively, a separate data structure may be constructed from the original data structure.
77 Citations
26 Claims
-
1. A method of using a computer for converting a first cross-tabulated report having a first presentation of a set of a plurality of source data records into a second cross-tabulated report having a second presentation of the set of source data records, wherein each source data record includes a same plurality of fields of data facts, and further wherein the first presentation represents a first relationship between the fields and the second presentation represents a second relationship between the fields, the method comprising the steps of:
-
a. forming a data structure corresponding to the first relationship including a plurality of aggregating nodes, and relationship data regarding relationships within the data structure between the aggregating nodes;
b. modifying the relationship data corresponding to the second relationship, thereby rearranging the aggregating nodes and changing the relationships within the data structure between the aggregating nodes and updating the corresponding aggregate values according to the second relationship without reaccessing the source data records, thereby forming a modified data structure;
and c. forming the second cross-tabulated report from the modified data structure. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of using a computer for forming a data structure for aggregating original source data in an arrangement that can be directly mapped to a cross-tabulated report having a first presentation of a set of a plurality of source data records, wherein each source data record includes a plurality of fields of data facts, the method comprising the steps of:
-
a. identifying a root node;
b. identifying a superior field;
c. identifying a next subordinate field and each such successively subordinate field until all desired fields are exhausted;
d. determining relationship data relating to hierarchical relationships between nodes within the data structure and corresponding to the fields;
e. aggregating the data facts for each node; and
f. converting the first cross-tabulated report into a second cross-tabulated report having a second presentation of the set of data records without reaccessing the source data records. - View Dependent Claims (7)
a. modifying the relationship data corresponding to the second relationship, thereby rearranging the relationships of the nodes within the data structure and updating the corresponding aggregate values according to the second relationship, thereby forming a modified data structure; and
b. forming the second cross-tabulated report from the modified data structure.
-
-
8. A method of converting a first cross-tabulated report representative of a first plurality of source data records within a computer system including one or more first labels and one or more second labels, wherein the first labels and the second labels are re-arranged and pivoted to form a second differently structured report, the method comprising the steps of:
-
a. receiving the first plurality of source data records including a second plurality of fields and corresponding values;
b. forming a data structure representative of the first plurality of source data records including one or more first label structures and one or more second label structures and a third plurality of aggregate values representative of the data within the first plurality of source data records; and
c. forming a cross-tabulated report from the first label structures on a first coordinate of the report and the second label structures on a second coordinate of the report with corresponding aggregate values of the third plurality of aggregate values displayed within the report;
wherein the second differently structured report is formed without reaccessing the first plurality of source data records, by rearranging and interchanging one of the one or more first label structures and second label structures within the data structure and thereby forming newly corresponding aggregate values within the report for display. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A memory for storing data for access by an application program being executed on a data processing system including a data structure for use on a computer, the data structure corresponding to a first plurality of source data records, each source data record including a second plurality of fields and corresponding values, wherein a structured report having one or more first labels and one or more second labels corresponds to the data structure, the data structure comprising:
-
a. one or more first level structures corresponding to the first labels and one or more second level structures corresponding to the second labels, wherein the first level structures and the second level structures store appropriate data from the first plurality of source data records;
b. a third plurality of aggregate values representative of the data within the first plurality of source data records;
c. a plurality of nodes;
d. a plurality of cells;
and wherein a modified structured report representation is achieved by changing ordered relationships of the nodes within the data structure without reaccessing the source data records. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
Specification