21 Dynamic Calculation of Data Values
To improve block storage calculation performance, you can apply Dynamic Calc for select values in an Essbase cube. Dynamic Calc adds efficiency by calculating some members at retrieval time.
When you design the way your cube is calculated, you may find it more efficient to calculate some member combinations when data is retrieved, instead of precalculating the member combinations during batch database calculations.
Dynamically calculating some database values can significantly improve the performance of an overall database calculation.
By calculating some data values dynamically, you reduce resource usage in the following ways:
-
Batch calculation time of the database is faster, because there fewer member combinations to calculate.
-
Disk usage is lessened. As fewer calculated values need to be stored, database and index size are reduced.
-
Restructure time is reduced. Adding or deleting a Dynamic Calc member in a dense dimension does not change data block size, so a restructure is not needed.
-
Time required to back up the database is reduced. As the database size is smaller, it takes less time to perform a backup.
When a member is tagged as Dynamic Calc, Essbase does not calculate its value during a batch calculation (for example, during a CALC ALL). Instead, it calculates the data value at query time (for example, when users retrieve the data from Smart View). The dynamically calculated value is not stored, but is recalculated for each retrieval.
If you retrieve a parent value that is calculated from Dynamic Calc child members, Essbase must dynamically calculate the child member combinations before calculating the parent value.
Data values that Essbase calculates dynamically can take longer to retrieve. You can estimate the retrieval time for dynamically calculated members.
Note:
For standard dimensions, the Dynamic Calc property is not applicable in aggregate storage (ASO) databases. In ASO, all parent members, and all members with formulas, are dynamically calculated.