Contact us FR

Profitability Tech Tips – Enabling NonEmptyTuple Governor in EPCM

Published October 13 2022
Back to insights

In another blog post blog post (Profitability Tech Tips – Five Tips to Optimizing POV Calculations) that was aimed at helping clients to optimize their PCM calculations, we mention a lesser-known performance optimization technique related to the NonEmptyTuple (NET) and Logical Clear Governors. In PCM applications, either of those governors can make a huge difference in our overall calculation performance and they could be enabled for testing purposes through a REST, either of those governors can make a huge difference in our overall calculation performance. They could be enabled for testing purposes through a REST API command and then permanently applied to our instances by logging API command and then permanently applied to our instances by the logging of an Oracle SR. Now that we are experiencing a huge amount of interest in clients wanting to migrate their current PCM applications over to Enterprise PCM (EPCM) a valid question is how do we enable these governors on EPCM?

Enabling the Logical Clear Governor

Technically, in PCM, when we “enabled” the Logical Clear governor we were requesting that the Essbase Clear Type be changed from the default “Physical Clear” to “Logical Clear” during calculations. In a large database, Logical Clears performed significantly faster than Physical Clears and we suggest making this change to almost all clients.

Fortunately, Oracle has made the Logical Clear the default Essbase Clear Type in Enterprise PCM, so you actually don’t have to perform any action to ensure that your EPCM application is using it.

Enabling the NonEmptyTuple (NET) Governor

The NET Governor is not enabled by default in EPCM. The reason for this is that enabling this governor does not always lead to performance improvements and can even lead to inconsistent results, so once enabled you should perform the necessary testing.

The NET Governor is most impactful in large, sparse databases where we are selecting large intersections in our source and destination selections in Allocations Rules but where the output is only a fraction of the number of potential cells possible. The NET Governor will force the Allocation Rules to run against data intersections where data is present, thus speeding up the calculations, sometimes significantly. However, this increase in calculation performance does come at the risk that some relevant intersections may be missed.

In EPCM, we cannot utilize a REST API to enable the NET Governor, instead Oracle has introduced the following process:

  1. An Oracle Service Request needs to be logged requesting the enablement of the NET Governor. The SR wording I used was:
    Please enable the NonEmptyTuple governor. We are currently experiencing longer than expected calculation times and would like to validate whether we should permanently enable the NonEmptyTuple governor within our Enterprise PCM application.
  2. Oracle will then respond with a generated UUID (Universally Unique Identifier) which we will then utilize in the next steps in our Enterprise PCM application
  3. Log into EPCM and follow the steps below:
    1. Go to Tools ==> Variables, select the Substitution Variables tab
    2. Click ‘+’ to create a new variable
    3. Leave the cube name defaulted to All Cubes
    4. Enter EPCM_CALC_NONEMPTY_TUPLE as the variable name
    5. Enter the UUID key supplied by Development as the variable value
    6. Save the variable
  4. To check that the NET Governor has been applied, execute a calculation within the application you created the SubVar, then run and open the Calculation Statistics Report and scroll down to the bottom. The “Non Empty Tuple Used” should be “true”:
    oracle-epcm-non-empty-tuble-calculation-statistics-report-screenshot
  5. That’s it, we’re done! Be sure to check your results to make sure they are still consistent. If you are not experiencing any performance gains and/or experience data inconsistencies, simply delete the substation variable.

A nice value-add to the above process compared to the REST API method is that once you have the UUID above you can simply go through steps 3-5 for ANY instance across your domains. This makes it easy for us to enable and disable the NET governor across any EPCM application that a client is building.

For comments, questions, or suggestions for future topics, please reach out to us at infosolutions@alithya.com.  Visit our blog regularly for new posts about Cloud updates and other Oracle Cloud Services such as Planning and Budgeting, Financial Consolidation, Account Reconciliation, and Enterprise Data Management.  Follow Alithya on social media for the latest information about EPM, ERP, and Analytics solutions to meet your business needs.