Multi-platform business calculation rule language and execution environment
First Claim
1. A computer-readable storage medium storing instructions executable by a computing system to perform a plurality of functions, comprising:
- receiving a calculation rule presented in a multi-platform expression language to be applied to a data model selected from different data models having different structures, the calculation rule being received by one or more of;
retrieving the calculation rule from a store of previously-created calculation rules; and
accepting user entry of the calculation rule;
processing the calculation rule for application to the data model, including;
responding to whether the calculation rule is data-driven, including;
when the calculation rule is data-driven, determining a condition specified by the calculation rule and performing an action specified by the calculation rule based on the condition; and
when the calculation rule is not data-driven, performing the action specified by the calculation rule;
identifying a database platform supporting the data model;
wherein the database platform is selected from a group of platforms comprising;
a structured query language (SQL) platform that accesses a SQL database in which dimensions and data models are represented as a plurality of tables and a multi-dimensional database platform that accesses a multi-dimensional database in which the dimensions and the data models are stored in a multi-dimensional structure;
preprocessing the calculation rule to adjust the calculation rule to operate based on a dimensionality of the data model;
wherein preprocessing the calculation rule comprises determining when the calculation rule accesses more information than the data model provides and determining when to eliminate the calculation rule based on this determination;
upon identifying one or more variables included in the calculation rule, resolving the variables in terms of the data model; and
upon identifying one or more parameters included in the calculation rule, soliciting input for the parameters for use in applying the calculation rule to the data model by displaying a prompt to receive the parameters; and
executing the calculation rule.
2 Assignments
0 Petitions
Accused Products
Abstract
Computer-readable storage media, computer-implemented methods, and systems are disclosed for a multi-platform calculation rule language and its environment. A calculation rule, presented in an expression language and specifying one or more functions, is received. The expression language, for a plurality of different platforms, allows each of a plurality of functions to be expressed using a common syntax. A selected platform is identified on which the calculation rule is to be executed. The calculation rule is resolved to the attributes of the data model in the selected platform to apply the calculation rule to the data model. The calculation rule is executed by performing the one or more functions specified in the calculation rule, and the results from executing the calculation rule are reported.
53 Citations
19 Claims
-
1. A computer-readable storage medium storing instructions executable by a computing system to perform a plurality of functions, comprising:
-
receiving a calculation rule presented in a multi-platform expression language to be applied to a data model selected from different data models having different structures, the calculation rule being received by one or more of; retrieving the calculation rule from a store of previously-created calculation rules; and accepting user entry of the calculation rule; processing the calculation rule for application to the data model, including; responding to whether the calculation rule is data-driven, including; when the calculation rule is data-driven, determining a condition specified by the calculation rule and performing an action specified by the calculation rule based on the condition; and when the calculation rule is not data-driven, performing the action specified by the calculation rule; identifying a database platform supporting the data model;
wherein the database platform is selected from a group of platforms comprising;
a structured query language (SQL) platform that accesses a SQL database in which dimensions and data models are represented as a plurality of tables and a multi-dimensional database platform that accesses a multi-dimensional database in which the dimensions and the data models are stored in a multi-dimensional structure;preprocessing the calculation rule to adjust the calculation rule to operate based on a dimensionality of the data model;
wherein preprocessing the calculation rule comprises determining when the calculation rule accesses more information than the data model provides and determining when to eliminate the calculation rule based on this determination;upon identifying one or more variables included in the calculation rule, resolving the variables in terms of the data model; and upon identifying one or more parameters included in the calculation rule, soliciting input for the parameters for use in applying the calculation rule to the data model by displaying a prompt to receive the parameters; and executing the calculation rule. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method, comprising:
-
receiving a calculation rule presented in an expression language and specifying one or more functions, the expression language allowing for each of a plurality of functions performable on a plurality of different platforms to be expressed using a common syntax;
wherein the different platforms comprise;
a structured query language (SQL) platform that accesses a SQL database in which dimensions and data models are represented as a plurality of tables and a multi-dimensional database platform that accesses a multi-dimensional database in which the dimensions and the data models are stored in a multi-dimensional structure;identifying a selected platform on which the calculation rule is to be executed; resolving the calculation rule to attributes of a data model in the selected platform to apply the calculation rule to the data model;
wherein resolving the calculation rule comprises determining when the calculation rule accesses more information than the data model provides and determining when to eliminate the calculation rule based on this determination;responding to whether the calculation rule is data-driven, including; when the calculation rule is data-driven, determining a condition specified by the calculation rule and performing an action specified by the calculation rule based on the condition; and
when the calculation rule is not data-driven, performing the action specified by the calculation rule;executing the calculation rule by performing the one or more functions specified in the calculation rule; and reporting the results from executing the calculation rule. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
a processor and a computer-readable storage medium; a rule interface using the processor that is configured to receive a calculation rule presented in a multi-platform expression language to be applied to a data model, the calculation rule being received by one or more of; retrieving the calculation rule from a store of previously-created calculation rules; and accepting user entry of the calculation rule; and a run-time system configured to; receive the calculation rule from the rule interface; identify a database platform supporting the data model;
wherein the database platform is selected from a group of platforms comprising;
a structured query language (SQL) platform that accesses a SQL database in which dimensions and data models are represented as a plurality of tables and a multi-dimensional database platform that accesses a multi-dimensional database in which the dimensions and the data models are stored in a multi-dimensional structure;identify whether the calculation rule includes one more unresolved terms;
upon identifying the calculation rule includes one or more unresolved terms, resolving the unresolved terms;adjust the calculation rule for execution on the data model;
wherein adjusting the calculation rule comprises determining when the calculation rule accesses more information than the data model provides and determining when to eliminate the calculation rule based on this determination; andidentifying whether the calculation rule is data-driven, including;
when the calculation rule is data-driven, determining a condition specified by the calculation rule and performing an action specified by the calculation rule based on the condition; and
when the calculation rule is not data-driven, performing the action specified by the calculation rule. - View Dependent Claims (16, 17, 18, 19)
-
Specification