Systems and methods for generating an optimized output range for a data distribution in a hierarchical database
First Claim
1. A method comprising:
- receiving data to be inserted in a hierarchical database, wherein the hierarchical database comprises at least one of an online analytical processing (OLAP) database or an extensible markup language (XML) database;
associating child nodes with at least one parent node in the hierarchical database;
distributing the data from the parent node to the corresponding child nodes based on spreading rules, wherein the spreading rules comprise a rule to divide a quantity stored as a number from the data in the parent node into multiple sub-quantities that each correspond to a different one of the child nodes, wherein distributing the data comprises distributing each of the sub-quantities to a corresponding one of the child nodes;
capturing a range of outputs extracted from the child nodes based on the distributing; and
generating, by a processing device, a selection of a subset of the spreading rules based on the range of outputs, wherein the selection of the subset of the spreading rules comprises an ordered sequence of the subset of the spreading rules.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments relate to systems and methods for generating an optimized output range for a data distribution in a hierarchical database. A data store can store data in a hierarchical format, for instance, in a tree. Higher-level data, such as yearly profit, may be desired to be spread from parent nodes to lower nodes, such as nodes representing quarters. A spreading tool can insert child nodes representing quarters, months, or other at insertion point(s) represented or encoded by a set of placeholder nodes, dividing quantities appropriately. In aspects, the spreading tool can access multiple sets of spreading rules which govern the distribution of data from higher level nodes to lower level nodes. In aspects, the spreading tool can conduct multiple passes of data distribution using different sets of spreading rules, capturing the outputs expressed in the child nodes and selecting rule sets which produce a desired deviation, range, or other characteristics.
105 Citations
19 Claims
-
1. A method comprising:
-
receiving data to be inserted in a hierarchical database, wherein the hierarchical database comprises at least one of an online analytical processing (OLAP) database or an extensible markup language (XML) database; associating child nodes with at least one parent node in the hierarchical database; distributing the data from the parent node to the corresponding child nodes based on spreading rules, wherein the spreading rules comprise a rule to divide a quantity stored as a number from the data in the parent node into multiple sub-quantities that each correspond to a different one of the child nodes, wherein distributing the data comprises distributing each of the sub-quantities to a corresponding one of the child nodes; capturing a range of outputs extracted from the child nodes based on the distributing; and generating, by a processing device, a selection of a subset of the spreading rules based on the range of outputs, wherein the selection of the subset of the spreading rules comprises an ordered sequence of the subset of the spreading rules. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
a processing device; an interface to a hierarchical database, wherein the hierarchical database comprises at least one of an online analytical processing (OLAP) database or an extensible markup language (XML) database; a database engine, communicating with the interface and executable by the processing device, the database engine being configured to; receive a data to be inserted in the hierarchical database; associate child nodes with at least one parent node in the hierarchical database; distribute the data from the parent node to the child nodes based on spreading rules, wherein the spreading rules comprise a rule to divide a quantity stored as a number from the data in the parent node into multiple sub-quantities that each correspond to a different one of the child nodes, wherein distribute the data comprises distribute each of the sub-quantities to a corresponding one of the child nodes; capture a range of outputs extracted from the child nodes based on the distributing; and generate a selection of a subset of the spreading rules based on the range of outputs, wherein the selection of the subset of the spreading rules comprises an ordered sequence of the subset of the spreading rules. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A non-transitory computer readable storage medium including instructions that, when executed by a processor device, cause the processor device to perform a method comprising:
-
receiving data to be inserted in a hierarchical database, wherein the hierarchical database comprises at least one of an online analytical processing (OLAP) database or an extensible markup language (XML) database; associating child nodes with at least one parent node in the hierarchical database; distributing the data from the parent node to the child nodes based on spreading rules, wherein the spreading rules comprise a rule to divide a quantity stored as a number from the data in the parent node into multiple sub-quantities that each correspond to a different one of the child nodes, wherein distributing the data comprises distributing each of the sub-quantities to a corresponding one of the child nodes; capturing a range of outputs extracted from the child nodes based on the distributing; and generating, by the processor device, a selection of a subset of the spreading rules based on the range of outputs, wherein the selection of the subset of the spreading rules comprises an ordered sequence of the subset of the spreading rules. - View Dependent Claims (17, 18, 19)
-
Specification