← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag