Ways to Use Intelligent Calculation

Intelligent Calculation is enabled by default for block storage cubes. When you run the first full calculation, Essbase calculates every block. When you recalculate the whole cube, Essbase checks each block to see whether it is marked as clean or dirty. Avoid unnecessary recalculations during partial cube calculations.

This section provides information on turning Intelligent Calculation on and off, and using it with different types of calculations.

Turn Intelligent Calculation On or Off

By default, Intelligent Calculation is turned on for an Essbase block storage cube. You can also turn it on or off using the UPDATECALC configuration setting, or the SET UPDATECALC command in a calc script.

By default, Intelligent Calculation is turned on. To change the default, use the UPDATECALC configuration setting.

To turn Intelligent Calculation on and off for the duration of a calculation script, use the SET UPDATECALC command in a calculation script.

Intelligent Calculation for a Default, Full Calculation

Intelligent Calculation provides significant performance benefits when you do a full calculation (CALC ALL) of an Essbase block storage cube. If you do a full calculation, leave Intelligent Calculation turned on (the default) to take advantage of its performance benefits.

Caution:

When using Intelligent Calculation, note the information in Limitations of Intelligent Calculation.

Calculating for the First Time

When you do the first full calculation of the cube, Essbase calculates every block. The performance is the same whether Intelligent Calculation is on or off.

Recalculating

When you do a full recalculation of a cube with Intelligent Calculation turned on, Essbase checks each block to see whether it is marked as clean or dirty. See Intelligent Calculation and Data Block Status.

Checking data blocks has a 5% to 10% performance overhead, which is insignificant when compared to the performance gained by enabling Intelligent Calculation.

If, however, you recalculate a database in which more than approximately 80% of the values have changed, the overhead of Intelligent Calculation may outweigh the benefits. In this case, turn off Intelligent Calculation.

Intelligent Calculation for a Calculation Script, Partial Calculation

If your calc script calculates a block storage cube only partially, Essbase does not mark the calculated blocks as clean unless you use the SET CLEARUPDATESTATUS command.

Use SET CLEARUPDATESTATUS to avoid unnecessary recalculations.

Essbase marks a data block as clean when it calculates the data block on a full calculation (CALC ALL) or when it calculates all dimensions in one CALC DIM command. See Marking Blocks as Clean.

In any other calculations, Essbase does not mark calculated data blocks as clean, unless you use the SET CLEARUPDATESTATUS command in a calculation script. For example, if you calculate a subset of a database or calculate a database in two calculation passes, Essbase does not mark the calculated blocks as clean unless you call SET CLEARUPDATESTATUS.

The following calculation scripts do not cause Essbase to mark the calculated data blocks as clean:

FIX("New York")
   CALC DIM(Product, Measures);
ENDFIX
CALC DIM(Measures, Product);
CALC DIM(Market, Year, Scenario);