Record for a multidimensional database with flexible paths
AssigneeMicrosoft Corporation
InventorsAlexander Berger, Amir Netz, Mosha Pasumansky
Life of this patent
Estimating the term…
Abstract
Creating and maintaining cell data records in a multidimensional database is disclosed using flexible dimension paths is disclosed. The systems and methods of the invention define an efficient mechanism to specify a cell's location within the multidimensional database where there are hierarchies of levels within a dimension. The flexible dimension path does not change when a member is moved from a first point to a second point on a dimension thereby avoiding the need to rebuild the OLAP database. The format used lends itself well to indexing, and also to creating aggregations of the cell data.
Claims23
A computerized method for creating a cell record for a multidimensional database, the method comprising:
- maintaining a set of mappings from a rigid dimension path to a unique memberid;
- receiving a measurement data item for a cell, said cell identified by a first member, said first member having a first dimension and a first level;
- determining a first rigid dimension path for the first member;
- if the first rigid path is in the set of mappings, inserting a first flexible dimension path corresponding to the unique memberid mapped to the first rigid dimension path into a system path field of the cell record, otherwise inserting the first rigid dimension path into a system path field of the cell record;
- and
- inserting the measurement data item into a measurement field of the cell record.
A computerized method for determining an aggregation measure, the method comprising:
- identifying an aggregation measure and an aggregation system path, said aggregation system path specifying an aggregation dimension and an aggregation level;
- if a flexible dimension path exists in the aggregation dimension then converting the flexible dimension path to a rigid dimension path;
- for each record of a plurality of records, each record having a system path, said system path having a rigid dimension path, said rigid dimension path having a plurality of level components, performing the following tasks:
- setting a level component corresponding to the aggregation level to a null value, and
- setting each level component corresponding to a level below the aggregation level to the null value;
- selecting a subset of the plurality of records where the system path equals the aggregation system path;
- and
- summing a measure corresponding to the aggregation measure in each record of the subset to create an aggregated measure.
A computer-readable medium having computer-executable instructions for performing a method comprising:
- maintaining a set of mappings from a rigid dimension path to a unique memberid;
- receiving a measurement data item for a cell, said cell identified by a first member, said first member having a first dimension and a first level;
- determining a first rigid dimension path for the first member;
- if the first rigid path is in the set of mappings, inserting a first flexible dimension path corresponding to the unique memberid mapped to the first rigid dimension path into a system path field of the cell record, otherwise inserting the first rigid dimension path into a system path field of the cell record;
- and
- inserting the measurement data item into a measurement field of the cell record.
A computer-readable medium having computer-executable instructions for performing a method comprising:
- identifying an aggregation measure and an aggregation system path, said aggregation system path specifying an aggregation dimension and an aggregation level;
- if a flexible dimension path exists in the aggregation dimension then converting the flexible dimension path to a rigid dimension path;
- for each record of a plurality of records, each record having a system path, said system path having a rigid dimension path, said rigid dimension path having a plurality of level components, performing the following tasks:
- setting a level component corresponding to the aggregation level to a null value, and
- setting each level component corresponding to a level below the aggregation level to the null value;
- selecting a subset of the plurality of records where the system path equals the aggregation system path;
- and
- summing a measure corresponding to the aggregation measure in each record of the subset to create an aggregated measure.
A computerized system comprising:
- a processor and a computer-readable medium;
- an operating environment executing on the processor from the computer-readable medium;
- a map table;
- a fact data store;
- a local data store;
- and
- an OLAP server executing under the control of the operating environment and operative to perform the tasks of:
- reading a plurality of detail records from the fact data store,
- for each of the plurality of detail records performing the tasks of:
- determining a system path to the cell record, said system path including a flexible dimension record if a rigid dimension path associated with the cell record appears in the map table,
- creating a cell record having a system path and at least one measure corresponding to a value from the detail record, and
- storing the cell record in the local data store.
Dependencies are inferred from the claim text.