Specifies when Essbase marks data blocks as clean. This clean status is used during Intelligent Calculation.
Syntax
SET CLEARUPDATESTATUS AFTER | ONLY | OFF;
Parameter | Description |
---|---|
AFTER | Essbase marks calculated data blocks as clean, even if you are calculating a subset of your database. |
ONLY | Essbase marks the specified data blocks as clean but does not actually calculate the data blocks. This does the same as AFTER, but disables calculation. |
OFF | Essbase does not mark the calculated data blocks as clean. Data blocks are not marked as clean, even on a default calculation (CALC ALL;) of your database. The existing clean or dirty status of the calculated data blocks remains unchanged. |
Notes
SET CLEARUPDATESTATUS specifies when Essbase marks data blocks as clean.
The data blocks in your database have a calculation status of either clean or dirty. When Essbase does a full calculation of your database, it marks the calculated data blocks as clean. When a data block is clean, Essbase will not recalculate the data block on subsequent calculations, provided that Intelligent Calculation is turned on.
To ensure the accuracy of your calculation results, consider carefully the effect of the SET CLEARUPDATESTATUS AFTER command on your calculation. .
If you do not use SET CLEARUPDATESTATUS, Essbase does not mark calculated data blocks as clean when you calculate a subset of your database. Essbase marks data blocks as clean only on a full calculation (CALC ALL;) or when Essbase calculates all members in a single calculation pass through your database.
If you calculate a subset of your database, you may want to use the SET CLEARUPDATESTATUS AFTER command to ensure that the calculated blocks are marked as clean. However, consider carefully the effect of this command on your calculation to ensure that your calculation results are correct.
When you use the SET CLEARUPDATESTATUS command to mark calculated data blocks as clean, consider carefully the following questions:
Which data blocks are calculated?
Only calculated data blocks will be marked as clean.
Are concurrent calculations going to affect the same data blocks?
Do not use the SET CLEARUPDATESTATUS AFTER command with concurrent calculations unless you are certain that the different calculations will not need to calculate the same data block or blocks. If concurrent calculations attempt to calculate the same data blocks, with Intelligent Calculation turned on, Essbase may not recalculate the data blocks, because they are already marked as clean.
Are the same data blocks to be recalculated on a second calculation pass through the database?
If you calculate data blocks on a first calculation pass through your database, Essbase marks them as clean. If you then attempt to calculate the same data blocks on a subsequent pass with Intelligent Calculation turned on, Essbase does not recalculate the data blocks, because they are already marked as clean.
Example
The following examples are based on the Sample Basic database. They assume that Intelligent Calculation is turned on (the default). For information on turning Intelligent Calculation on and off, see the SET UPDATECALC command.
SET CLEARUPDATESTATUS AFTER; FIX ("New York") CALC DIM(Product); ENDFIX
New York is a member on the sparse Market dimension. Essbase searches for dirty parent data blocks for New York (for example "New York"->Colas in which Colas is a parent member). It calculates these dirty blocks based on the Product dimension and marks them as clean. Essbase does not mark the child, Input blocks as clean, because they are not calculated.
SET CLEARUPDATESTATUS ONLY; CALC ALL;
Essbase searches for all the dirty blocks in the database and marks them as clean. It does not calculate the blocks, even though a CALC ALL; command is used.
SET CLEARUPDATESTATUS ONLY; FIX ("New York") CALC DIM(Product); ENDFIX
New York is a member on the sparse Market dimension. Essbase searches for dirty parent data blocks for New York (for example "New York"->Colas in which Colas is a parent member). It marks them as clean. It does not calculate the data blocks. It does not mark the child blocks as clean because they are not calculated. For example, if
"New York"->100-10
is dirty, it remains dirty.
SET CLEARUPDATESTATUS OFF; CALC ALL; CALC TWOPASS;
Essbase calculates all the dirty data blocks in the database. The calculated data blocks remain dirty; Essbase does not mark them as clean. Essbase then calculates those members tagged as Two-Pass on the dimension tagged as Accounts. Again, it does not mark the calculated data blocks as clean.
See Also