Limitations of Intelligent Calculation

Consider the exception cases where you might need to avoid using Intelligent Calculation for some calculations of the Essbase cube.

Note that Intelligent Calculation works on a data block level and not on a cell level. For example, if you load a data value into one cell of a data block, the whole data block is marked as dirty.

A CALC ALL that requires two passes through the database may calculate incorrectly. The problem occurs because blocks that are marked clean during the first pass are skipped during the second pass. To avoid this problem, turn Intelligent Calculation off or perform a CALC DIM for each dimension (rather than a CALC ALL for the database). A CALC ALL requires two passes through the database in either of these situations:

  • When the accounts dimension is sparse.

  • When the accounts dimension is dense, the time dimension is sparse, and there is at least one more dense dimension in the outline.

Changing a formula or an accounts property on the outline does not cause a database restructure, so Essbase doesn't mark the affected blocks as dirty. You must recalculate the appropriate data blocks. See Changed Formulas and Accounts Properties: Impact on Block Status.

Whenever possible, Essbase calculates two-pass and accounts formulas during the main database calculation. You may, however, need to use a calculation script to calculate some formulas twice. When you use a calculation script, disable Intelligent Calculation before recalculating formulas.

When SET CREATENONMISSINGBLK is set to ON in a calculation script, Intelligent Calculation is turned off, and affected blocks are calculated whether they are marked clean or dirty.