Cálculo inteligente y estado de bloque de datos

Con Cálculo inteligente activado, Essbase comprueba el estado de actualización de los bloques de una base de datos y calcula solo los bloques "sucios" y sus principales dependientes. Cuando se desactiva, Essbase calcula todos los bloques de datos en el ámbito de cálculo, independientemente de si están marcados como limpios o sucios.

Bloques marcados como "limpios"

Essbase marca los bloques de datos como limpios en estos tipos de cálculos:

  • Un cálculo completo (CALC ALL) de una base de datos (el cálculo por defecto).

  • Script de cálculo que calcula todas las dimensiones en una sentencia CALC DIM.

    Por ejemplo, el siguiente script de cálculo calcula todos los miembros de la base de datos básica de ejemplo:

    CALC DIM(Measures, Product, Market, Year, Scenario);

    Compare este script de cálculo con un script de cálculo que calcula todos los miembros con dos sentencias CALC DIM:

    CALC DIM(Measures, Product);
    CALC DIM(Market, Year, Scenario);

El uso de dos sentencias CALC DIM hace que Essbase realice al menos dos transferencias de cálculo a través de la base de datos. En este cálculo, Essbase no marca los bloques de datos como limpios de forma predeterminada. Dado que el cálculo inteligente depende del estado correcto de limpieza y suciedad, debe gestionar estos marcadores con cuidado.

Essbase marca los bloques de datos calculados como limpios sólo en las situaciones descritas anteriormente, a menos que utilice el comando SET CLEARUPDATESTATUS en un script de cálculo. Consulte The SET CLEARUPDATESTATUS Command.

Bloques marcados como "sucios"

Essbase marca un bloque de datos como sucio en estas situaciones:

  • Cálculo del bloque de datos para un cálculo parcial de la base de datos solo si SET CLEARUPDATESTATUS AFTER no forma parte de la sentencia de cálculo parcial en el script de cálculo

  • Carga de Datos en el Bloque de Datos

  • Reestructuración de la base de datos (por ejemplo, al agregar un miembro a una dimensión densa)

  • Copia de datos en el bloque de datos; por ejemplo, mediante DATACOPY

Mantenimiento de estado limpio/sucio

Para utilizar el Cálculo inteligente al calcular un subconjunto de una base de datos o realizar varias transferencias de cálculo, tenga en cuenta cuidadosamente las implicaciones de cómo Essbase marca los bloques de datos como limpios, para garantizar que Essbase vuelva a calcular la base de datos de la forma más eficiente posible.

Por ejemplo, al calcular un subjuego de una base de datos, los bloques de datos recién calculados no se marcan como limpios por defecto. Puede asegurarse de que los bloques recién calculados se marquen como limpios mediante el comando SET CLEARUPDATESTATUS AFTER en una secuencia de comandos de cálculo. Antes de crear la secuencia de comandos de cálculo, consulte The SET CLEARUPDATESTATUS Command.