Tuesday, 24 February 2015

What is DIRTY and CLEAN block concept in ESSBASE

Executing calculations that only run on blocks that have changed is great feature of ESSBASE, It enables administrators to calculate the database in a fraction of the time and is referred to as calculating "dirty" blocks, or update calc. This is awesome "Why shouldn't I use it all the time?"


This feature in ESSBASE is called as Intelligent calculation.


The calculation engine first calculates the level 0 block of first sparse dimension, it then traverse to higher levels and moves through the dimension from top to bottom until the entire dimension is consolidated.

When a level 0 block is changed( here New York is level 0) , it and all of parents, are tagged as dirty, when a calculation is executed on just dirty blocks, the process is same except that it skips all the "clean" blocks. Once the block is calculated the dirty tag is changed to clean...

Let see what happens when a level zero block becomes dirty:

In the above picture New York is updated. Block 5,6 and 10 are tagged as dirty. The next calculation, if set to calculate only the dirty blocks, would only calculate blocks 5,6 and 10, in that order.


When a calculation has started, it identifies which blocks need calculated (5,6 and 10 in this example) immediately after that, it starts calculating block 5 and it will continue to calculate blocks 6 and 10.


Using the dirty calc feature is great too to have in your arsenal. It can save hours of processing time.
By default it is enables but you can turn off or turn on using SET UPDATECAL ON/OFF, which will turn on/off the Intelligent calculation.

Happy learning and thanks for all who supported me to write this post :)

No comments:

Post a Comment