11/15/09

Simulated Calculation

You can simulate a calculation using SET MSG ONLY in a calculation script. A simulated calculation produces results that help you analyze the performance of a real calculation that is based on the same data and outline. By running a simulated calculation with a command such as SET NOTICE HIGH, you can mark the relative amount of time each sparse dimension takes to complete. Then, by performing a real calculation on one or more dimensions, you can estimate how long the full calculation will take, because the time a simulated calculation takes to run is proportional to the time that the actual calculation takes to run.
For example, if the calculation starts at 9:50:00 AM, and the first notice is time-stamped at 09:50:10 AM and the second is time-stamped at 09:50:20 AM, you know that each of part of the calculation took 10 seconds. If you then run a real calculation on only the first portion and note that it took 30 seconds to run, you know that the other portion also will take 30 seconds. If there were two messages total, then you would know that the real calculation will take approximately 60 seconds (20 / 10 * 30 = 60 seconds). Use the following topics to learn how to perform a simulated calculation and how to use a simulated calculation to estimate calculation time.

Performing a Simulated Calculation
Before you can estimate calculation time, you must perform a simulated calculation on a data model that is based on your actual database.
➤ To perform a simulated calculation:
1 Create a data model that uses all dimensions and all levels of detail about which you want information.
2 Load all data. This procedure calculates only data loaded in the database.
3 Create a calculation script with these entries:
SET MSG ONLY;
SET NOTICE HIGH;
CALC ALL;
If you are using dynamic calculations on dense dimensions, substitute the CALC ALL command with the specific dimensions that you need to calculate; for example, CALC DIM EAST.
Note:
If you try to validate the script, Essbase reports an error. Disregard the error.
4 Run the script.
5 Find the first sparse calculation message in the application log and note the time in the message.
6 Note the time for each subsequent message.
7 Calculate the dense dimensions of the model that are not being dynamically calculated:
CALC DIM (DENSE_DIM1, DENSE_DIM2, …);
8 Calculate the sparse dimensions of the model:
CALC DIM (SPARSEDIM1, SPARSEDIM2, …);
9 Project the intervals at which notices will occur, and then verify against sparse calculation results. You can
then estimate calculation time.