About Groovy:
Groovy is an objected oriented language that works in Java Platform. It is a dynamic language with features similar to Ruby, Python and Perl languages. Groovy has been adopted by many companies including Oracle for its cloud environment security and its progressive features. Groovy language can be now used with Oracle’s Enterprise Planning and Budgeting cloud applications which is now Oracle EPM Enterprise Planning.
Using Groovy can improve Hyperion Business rules such as faster execution of business rules, performance. It omits the need of user to wait for the rule to calculate leading to more run time. Traditional business rules are more generic, and it calculates the entire database or subset of the database. Groovy rules are more focused than the traditional business rules. Groovy rules play a vital role in calculating the specific intersections of members that are edited/required and calculates only those members which saves run time.
Limitations with existing Hyperion business rules:
- Unable to dynamically generate the script at run time
- Unable to dynamically generate fixes for the calculation in the script based on edited cells in the form
- Unable to validate the RTPs value on the fly
- Unable to dynamically push the data using Data Maps/Smart Push from one cube to another
- Static nature and its performance issues
- Running the calculation for the entire database or subset of database
Groovy Highlights:
- Allows you to create context specific, dynamic business rule that dramatically improves the performance of the calculations
- Improve performance of the rules by fixing specific rows and columns
- Improve performance by fixing only the edited Point of View (POV) cells
- Customized/dynamically pushing data using Data Maps and smart push
- Moving the plan data from one cube to another cube on the fly
- Highlight the errors while entering data
- Warnings can be providing for the users
- Dynamic Essbase calculations
- Dynamically changing the data based on the user entry
- Calculations in ASO Reporting cube
- Dynamic calculations in BSO Cubes
- Data input validation
Let’s see how to create Groovy!
Creating a Groovy calculation:
Create a groovy script by selecting the Script type as Groovy Script.
Consider a scenario where we need to calculate only the edited cells in the form and push data from one cube to other.
Data form:
Setting up the variables to get the edited dimension members:
Iterating the edited cells of the data form:
Converting the lists to comma delimited string with quotes:
Constructs a string builder and holds the calculation script send to Essbase:
Executing the data maps are very simple and achieved using the following script.
Dynamically pushing the edited sets of data from one cube to other:
Application Performance Improvement:
If your EPM Hyperion applications have more dimensions, and if there are any performance issues related to complex calculations involved in the applications, or if you would like to Improve performance etc, then Groovy rules should catch your attention as it is helping change the Hyperion world. Read relevant blog here: Integrating On-Premise data sources with Enterprise Performance Management Cloud