US7702622B2
Active / In Force
US
⏱️ 0.6 years remaining
Advanced techniques for SQL generation of performancepoint business rules
Assignee: Microsoft Technology Licensing LLC
•
Filing: 2007-06-29
•
Granted: 2010-04-20
•
Expires: 2027-06-29
Abstract
Abstract Computer-implemented methods and computer-readable storage media are disclosed to facilitate the application of business rules. A rule is received, the rule defining one or more calculations to be performed on specified data stored in a multidimensional database to yield at least one result. At least one database query is generated seeking the specified data to be retrieved from the multidimensional database. An intermediary table is created to accommodate the specified data retrieved from the multidimensional database. The specified data is stored in the intermediary table and the specified data is manipulated when the data is retrieved or after the specified data is stored in the intermediary table.
Inventors
- 👤 Baomin Li
- 👤 George Yan
- 👤 Mark Yang
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-07 12:28
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/28; G06F16/283; G06F16/24; G06F16/245; G06F16/2453; G06F16/24534; G06F16/24547; G06F16/2455; G06F16/24553; G06F16/24561; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99933
Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
190 words
A computer-implemented method, comprising: receiving a rule defining one or more calculations to be performed on specified data stored in a multidimensional database to yield at least one result; wherein the rule comprises a scope definition that describes: the dimension when the rule applies to a whole dimension of the multidimensional database; members within a dimension when the rule does not apply to the whole dimension; and an expressions definition that defines operations to perform on the specified data; converting the rule to an object-oriented form that comprises a scope node and an expressions node at a first hierarchical level; wherein the scope node comprises child elements identifying the data to retrieve from the multidimensional database; wherein the expressions node comprises child elements identifying operations to perform; generating a relational database query seeking the specified data relevant to the rule to be retrieved from the multidimensional database; creating an intermediary table to accommodate the specified data retrieved from the multidimensional database; storing the specified data in the intermediary table; and manipulating the specified data in the intermediary table as specified by the rule to determine the at least one result.
Claim 2
Dependent Claim
190 words
A computer-implemented method, comprising: receiving a rule defining one or more calculations to be performed on specified data stored in a multidimensional database to yield at least one result; wherein the rule comprises a scope definition that describes: the dimension when the rule applies to a whole dimension of the multidimensional database; members within a dimension when the rule does not apply to the whole dimension; and an expressions definition that defines operations to perform on the specified data; converting the rule to an object-oriented form that comprises a scope node and an expressions node at a first hierarchical level; wherein the scope node comprises child elements identifying the data to retrieve from the multidimensional database; wherein the expressions node comprises child elements identifying operations to perform; generating a relational database query seeking the specified data relevant to the rule to be retrieved from the multidimensional database; creating an intermediary table to accommodate the specified data retrieved from the multidimensional database; storing the specified data in the intermediary table; and manipulating the specified data in the intermediary table as specified by the rule to determine the at least one result.
Claim 3
Dependent Claim
29 words
The computer-implemented method of claim 1 , wherein the object oriented form comprises a rules node that is a parent node to the scope node and the expressions node.
Claim 4
Dependent Claim
39 words
The computer-implemented method of claim 1 , further comprising, when the rule identified the specified data in a symbolic form indirectly identifying a group of members, converting the symbolic form into a member list identifying the group of members.
Claim 5
Dependent Claim
56 words
The computer-implemented method of claim 1 , wherein creating the intermediary table includes: creating a data space configured to store one or more values in the selected data; and creating a calculation space configured to store a result of one or more calculations to be performed using the one or more values in the selected data.
Claim 6
Dependent Claim
25 words
The computer-implemented method of claim 4 , wherein the data space and the calculation space each are presented as additional columns in the intermediary table.
Claim 7
Dependent Claim
33 words
The computer-implemented method of claim 1 , further comprising, for each of the values stored in the data spaces, generating and executing queries to facilitate the retrieving of the data from the database.
Claim 8
Dependent Claim
25 words
The computer-implemented method of claim 6 , further comprising performing any additional calculations indicated in the business rule to determine the at least one result.
Claim 9
Dependent Claim
149 words
A computer-implemented method, comprising: receiving a business rule defining one or more calculations to be performed on specified data stored in a database to yield at least one result; converting the business rule to an object-oriented form that comprises a scope node and an expressions node at a first hierarchical level; wherein the scope node comprises child elements identifying the data to retrieve from the database; wherein the expressions node comprises child elements identifying the one or more calculations to perform; creating at least one intermediary table to accommodate the specified data; generating a plurality of queries for one or more of: retrieving the specified data from the database; and manipulating the specified data by performing a function on the specified data retrieved from the database; storing the specified data in the intermediary table; performing the one or more calculations on the specified data stored in the intermediary table.
Claim 10
Dependent Claim
149 words
A computer-implemented method, comprising: receiving a business rule defining one or more calculations to be performed on specified data stored in a database to yield at least one result; converting the business rule to an object-oriented form that comprises a scope node and an expressions node at a first hierarchical level; wherein the scope node comprises child elements identifying the data to retrieve from the database; wherein the expressions node comprises child elements identifying the one or more calculations to perform; creating at least one intermediary table to accommodate the specified data; generating a plurality of queries for one or more of: retrieving the specified data from the database; and manipulating the specified data by performing a function on the specified data retrieved from the database; storing the specified data in the intermediary table; performing the one or more calculations on the specified data stored in the intermediary table.
Claim 11
Dependent Claim
29 words
The computer-implemented method of claim 8 , wherein the object oriented form comprises a rules node that is a parent node to the scope node and the expressions node.
Claim 12
Dependent Claim
36 words
The computer-implemented method of claim 8 , further comprising, when the request recites the specified data in a symbolic form, converting the symbolic form into a concrete member list including each item in the specified data.
Claim 13
Dependent Claim
64 words
The computer-implemented method of claim 8 , wherein creating the intermediary table includes for each dimension in the specified data includes: creating a data space configured to store values of the specified data; and creating a calculation space configured to store at least one of a formula and a formula result based on the one or more calculations to be applied to the values.
Claim 14
Dependent Claim
25 words
The computer-implemented method of claim 11 , wherein the data space and the calculation space each are presented as additional columns in the calculation space.
Claim 15
Dependent Claim
47 words
The computer-implemented method of claim 8 , further comprising for each of the values stored in the data space: creating a join condition to facilitate the retrieving of the specified data from the database; and generating queries to facilitate the retrieving of the data from the database.
Claim 16
Dependent Claim
75 words
The computer-implemented method of claim 13 , further comprising, when the data column includes entries resulting from an aggregation function: for any missing dimensions not included in the database, filling in a current member as a default; building a plurality of subqueries using hierarchy information about the entries in the data column; and merging results of the plurality of subqueries into the join condition to facilitate the retrieving of the specified data from the database.
Claim 17
Dependent Claim
77 words
The computer-implemented method of claim 13 , further comprising, when the data column includes entries derived from an assumptions model, one of: for one or more leveled hierarchies, adjusting a granularity of the entries in the assumptions model to a specified granularity specified by the request; for one or more shared hierarchies not included in the rule, adding a current member as a default; and for model dimensions not specified in the rule, inserting a default value.
Claim 18
Dependent Claim
21 words
The computer-implemented method of claim 8 , upon the retrieving of the data from the database, further comprising validating the data.
Claim 19
Dependent Claim
31 words
The computer-implemented method of claim 8 , further comprising updating a fact table with a result of the one or more calculations on the specified data stored in the calculation space.
Claim 20
Dependent Claim
155 words
A computer-readable storage media maintaining a plurality of stored computer-executable instructions, the stored instructions comprising instructions for: receiving a business rule defining one or more calculations to be performed on specified data stored in a database to yield at least one result; converting the business rule to an object-oriented form that comprises a scope node and an expressions node at a first hierarchical level; wherein the scope node comprises child elements identifying the data to retrieve from the database; wherein the expressions node comprises child elements identifying the one or more calculations to perform; creating at least one intermediary table to accommodate the specified data; generating a plurality of queries for one or more of: retrieving the specified data from the database; and manipulating the specified data by performing a function on the specified data retrieved from the database; storing the specified data in the intermediary table; and determining the result of the business rule.
Claim 21
Dependent Claim
155 words
A computer-readable storage media maintaining a plurality of stored computer-executable instructions, the stored instructions comprising instructions for: receiving a business rule defining one or more calculations to be performed on specified data stored in a database to yield at least one result; converting the business rule to an object-oriented form that comprises a scope node and an expressions node at a first hierarchical level; wherein the scope node comprises child elements identifying the data to retrieve from the database; wherein the expressions node comprises child elements identifying the one or more calculations to perform; creating at least one intermediary table to accommodate the specified data; generating a plurality of queries for one or more of: retrieving the specified data from the database; and manipulating the specified data by performing a function on the specified data retrieved from the database; storing the specified data in the intermediary table; and determining the result of the business rule.
Claim 22
Dependent Claim
30 words
The computer-readable storage medium of claim 18 , wherein the object oriented form comprises a rules node that is a parent node to the scope node and the expressions node.
Claim 23
Dependent Claim
69 words
The computer-readable storage medium of claim 18 , wherein the instructions for creating the intermediary table include for each dimension in the specified data instructions for: creating a data space configured to store values of the specified data; and creating a calculation space configured to store at least one of a formula and a formula result based on the one or more calculations to be applied to the values.
References Cited (Backward Citations)
US5713020A
Cited
US5765159A
Cited
US5590324A
Cited
US5548754A
Cited
US6442543B1
Cited
US6629094B1
Cited
US6170009B1
Cited
US6192357B1
Cited
US7047249B1
Cited
US7320001B1
Cited
US6578028B2
Cited
US20080270456A1
Cited
US20040139061A1
Cited
US20080208822A1
Cited
US7149731B2
Cited
US20070208721A1
Cited
US20050192922A1
Cited
US20050204340A1
Cited
US20050210004A1
Cited
US20060010058A1
Cited
US7542990B2
Cited
US20060235837A1
Cited
US20070027904A1
Cited
US20070136388A1
Cited
US20070078826A1
Cited
US20090006301A1
Cited
US20090006349A1
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2013-04-19 | 2013-10-19 | 2014-04-20 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2017-04-19 | 2017-10-19 | 2018-04-20 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2021-04-19 | 2021-10-19 | 2022-04-20 | $7700.00 | Window Closed / Lapsed |