English (Español a continuación)
Two-pass calculation is a property that can be assigned to individual members of the outline. This property implies that the member will be calculated twice.
This property only works in members of dimensions defined with the type «accounts», and in members with the type «dynamic calculation» or «calculation and dynamic storage».
Let’s see an example: Considering two dimensions:
- The dimension «Variables» defined with the type «accounts»: Sales, Expenses…
- The dimension «Period»: Jan, Feb, Mar…
Within the dimension «Variables», the element «% Expenses» is defined as «dynamic calculation» and is calculated with the formula «Expenses» / «Sales»; It is assigned the property «Two-Pass Calculation».
Due to the structure of the outline, we assume that Essbase calculates first the dimensión «Variables» and then the dimensión «Period».
Considering the following data:

Essbase calculates the «Variables» dimension:

Then it calculates the dimension “Period”: the member “1st Quarter” will be the sum of the months January, February and March. This is correct for the members “Sales” and “Expenses” but not for the member “% Expenses”.

This member, “% Expenses”, which has the property “Two-Pass Calculation”, is recalculated, now obtaining the correct result.

When the default calculation is launched (assuming it is CALC ALL) is executed the two passes calculation on those members that have this property assigned.
When CALC ALL is launched in a calculation script, is NOT executed the two passes calculation on these members; must be added the command «CALC TWOPASS;»:
- CALC ALL;
- CALC TWOPASS;
Español
El cálculo en dos pasadas es una propiedad que se puede asignar a miembros individuales del outline. Esta propiedad implica que el miembro se va a calcular dos veces.
Esta propiedad tan sólo funciona en miembros de dimensiones definidas con el tipo de “cuentas”, y en miembros con tipo de almacenamiento “cálculo dinámico” o “cálculo y almacenamiento dinámico”.
Veamos un ejemplo: Partimos de dos dimensiones: la dimensión “Variables” definida con el tipo de “cuentas” y la dimensión “Periodo”.
Dentro de la dimensión “Variables”, el elemento “% Coste” está definido como “cálculo dinámico” y se calcula con la fórmula “Gastos” / “Ventas”; tiene asignada la propiedad “Cálculo en dos pasadas”. Por la estructura del outline vamos a suponer que Essbase calcula primero la dimensión “Variables” y luego la dimensión “Periodo”.
Partimos de los siguientes datos:

Essbase calcula la dimensión “Variables”:

A continuación calcula la dimensión “Periodo”: el miembro “1T” será la suma de los meses de enero, febrero y marzo Esto es correcto para los miembros “Ventas” y “Gastos” pero no para el miembro “% Coste”.

Este miembro, “% Coste”, que tiene la propiedad “Cálculo en dos pasadas”, se vuelve a calcular, obteniendo ahora el resultado correcto.

Cuando se lanza el cálculo por defecto (suponiendo que es CALC ALL) se ejecuta el cálculo en dos pasadas en aquellos miembros que tienen asignadas esta propiedad.
Cuando se lanza el CALC ALL en un script de cálculo NO se ejecuta el cálculo en dos pasadas en estos miembros; hay que añadir el comando “CALC TWOPASS;”:
- CALC ALL;
- CALC TWOPASS;