Method and apparatus for populating multiple data marts in a single aggregation process
First Claim
Patent Images
1. A method of generating a plurality of output data marts from a first data mart, said first data mart comprising input fact data and at least one dimension table, said method comprising:
- generating aggregated fact data including a plurality of records representative of said fact data summarized at one or more levels other than the level of the input fact data;
distributing said aggregated fact data to said plurality of output data marts, wherein certain aggregated fact data records are distributed to more than one of said data marts, and wherein the set of fact data records distributed to at least some of the output data marts are not identical;
providing at least one data structure specifying levels or level cross products required by each output data mart;
establishing the aggregate fact data records which need to be generated from said input fact data; and
generating each required aggregate fact data record, and for each generated aggregate fact data record;
1) establishing from said at least one data structure which of said output data marts requires said aggregated fact data record; and
2) providing each of said output data marts which requires said aggregate fact data record with said aggregated fact data record.
4 Assignments
0 Petitions
Accused Products
Abstract
A method of populating multiple data marts in a single operation from a set of transactional data held in a database in a single aggregation process, in which aggregate values are calculated only once, a determination is made as to which output data marts required the aggregate value, and the aggregate values are output to the appropriate data marts. Dimension data associated with the output aggregate records is also output to the appropriate data marts.
-
Citations
12 Claims
-
1. A method of generating a plurality of output data marts from a first data mart, said first data mart comprising input fact data and at least one dimension table, said method comprising:
-
generating aggregated fact data including a plurality of records representative of said fact data summarized at one or more levels other than the level of the input fact data;
distributing said aggregated fact data to said plurality of output data marts, wherein certain aggregated fact data records are distributed to more than one of said data marts, and wherein the set of fact data records distributed to at least some of the output data marts are not identical;
providing at least one data structure specifying levels or level cross products required by each output data mart;
establishing the aggregate fact data records which need to be generated from said input fact data; and
generating each required aggregate fact data record, and for each generated aggregate fact data record;
1) establishing from said at least one data structure which of said output data marts requires said aggregated fact data record; and
2) providing each of said output data marts which requires said aggregate fact data record with said aggregated fact data record. - View Dependent Claims (2, 3)
-
-
4. A method of generating a plurality of output data marts from a first data mart, said first data mart comprising input fact data and at least one dimension table, said method comprising:
-
generating aggregated fact data including a plurality of records representative of said fact data summarized at one or more levels other than the level of the input fact data;
distributing said aggregated fact data to said plurality of output data marts, wherein certain aggregated fact data records are distributed to more than one of said data marts, and wherein the set of fact data records distributed to at least some of the output data marts are not identical; and
generating dimension tables for each of the output data marts from an input dimension table wherein each generated target dimension table contains only dimension records associated with levels requested by the associated data mart. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12)
said list of levels for a particular target dimension table is generated by merging lists of levels in the appropriate dimension associated with each of the data marts to which the target dimension table corresponds, and wherein each list of levels associated with a particular data mart comprises the set of levels in the corresponding dimension of all the cross products with which the data mart is associated. -
9. A method according to claim 8 wherein generated dimension tables in each data mart contain only records from said input dimension tables which appear in the aggregated output fact data output to that data mart.
-
10. A method according to claim 9 wherein the step of generating dimension tables for each data mart in a particular dimension is carried out by
a) providing storing means for associating dimension records with each data mart, and initially associating each dimension record with no data marts; -
b) performing the following steps for each fact data entry, wherein each fact data entry includes a set of dimension entries corresponding to a specific dimension record in each dimension;
1) establishing the level associated with the dimension entry in each dimension, 2) establishing the data marts associated with said fact data entry based on the cross product of said levels, and for each dimension, associating each of said data marts with the dimension record corresponding to the dimension entry in said storing means if the data mart is not already associated with said dimension entry;
c) outputting each dimension record to each output dimension table if the dimension record is associated in said storing means with a data mart with which said output dimension table is associated.
-
-
11. A method according to claim 4 wherein generated dimension tables are shared by different output data marts.
-
12. A method according to claim 4 wherein each aggregated fact data record is generated only once and then output to the output data marts requiring said aggregate fact data record.
-
Specification