Substitution variables are an important component to easily streamline modeling and calculation logic in enterprise performance management (EPM) systems and business intelligence (BI) reporting. To ensure that monthly, quarterly, and yearly roll-over processes are updated timely, it is helpful to have a way to uniformly increment time-based substitution variables. Typical variable examples include:
These substitution variables have assignments such as “FY20” and “June”, or numeric year values. When a planning and reporting system is initialized for a new period, these variables all need to be updated. While this is not a complex process, it can be time consuming and often needs to occur precisely at midnight of the reporting switchover date. This can be a challenge at any time but can be especially unrewarding on a day like New Year’s Eve. OneCloud’s variable rollover capabilities help you to automate and schedule this process. This ensures that the variables are always set correctly across all your applications.
In this use case blog, a simple OneCloud Chain will be created to:
1. Fetch the values of the current substitution variables in an Oracle Essbase application
2. Transform the values of those variables in the following ways:
a. If the value is “FY20”, then change to “FY21”
b. If the value is “Q4”, then change to “Q1”
c. If the value is “December”, then change to “January”
To perform this operation, we will use an OneCloud Chain that looks like the following:
Image 1: A OneCloud Chain
Now let’s break it down:
Command #1 - List Essbase Vars
In the first step, the Essbase Variables are listed for a specific Essbase application.
Image 2: List Essbase Variables
The output of this command is a JSON list format. Here is an example of some of the variables that were returned from this particular Essbase application. Each grouping of “application”, “name”, and “value” is referred to as an “element”.
JSON is a very powerful and flexible way to share information and data between systems. To learn more about this format, please visit the JSON Wikipedia article.
Command #2 - Transform Vars
The second step converts the Essbase variables that are in a JSON format into a tabular format that then can be subsequently transformed in the third command.
Image 3: Transform Variables
The output now looks as we might expect:
Command #3 - Set Vars
The third step does the real work that transforms the value of the variables into incremental time-based value. What is unique about this solution, it that there is an inline transformation that is being performed with stand SQL! If you are familiar with SQL, you will recognize right away the SELECT and WHERE syntax combined with some other more sophisticated SQL to perform the various functional transformations.
Image 4: Set Variables
Command #4 - Convert to List
The fourth step now converts the tabular data back to a JSON list. This list is then used in the next step for to loop over each Essbase variable and set the appropriate value.
Image 5: Convert Tabular Data to a JSON List
Command #5 - Set Essbase Vars
This fifth and final step sets the Essbase variables for each respective value that has been transformed. It is important to note that this Command leverages iteration which loops over a list. This list is the JSON list created in the prior command and is identically structured to the example in the first command but now with incremented variable values.
Image 6: Set Essbase Variables
In the animated example below, see how each value for Variable Name, Variable Value, and Application is set by isolating the particular JSON key (“name”, “value”, and “application”) for each element in the JSON list.
Image7 : Set Each Arguments
Here are the Essbase variables before the execution of this OneCloud Chain.
Image 8: Essbase Variables Overview Pre
Here are the Essbase variables after they were automatically updated by the OneCloud Chain
Image 9: Essbase Variables Overview Post
Try it out yourself!
If you would like to try this out for yourself, then we would like to make it easy for you and you do not even need to have an Essbase application.
1. Sign up
If you do not have access to OneCloud, please sign-up for a full-use OneCloud trial.
2. Configure your environment and add the following Connections
3. Create a Chain similar to the following:
Image 10: Build Your own Onecloud Chain
a. For the first command, fetch data from this URL:
b, For the third command, use this SQL:
4. Publish & Execute
If you have any questions or need additional information, please feel free to contact us at firstname.lastname@example.org.