Cálculo Inteligente e Status do Bloco de Dados
Com o Cálculo Inteligente ativado, o Essbase verifica o status de atualização dos blocos em um banco de dados e calcula somente blocos "sujos" e seus pais dependentes. Quando desativado, o Essbase calcula todos os blocos de dados no escopo de cálculo, independentemente de estarem marcados como limpos ou sujos.
Blocos Marcados como "Limpos"
O Essbase marca os blocos de dados como limpos nestes tipos de cálculos:
-
Um cálculo completo (CALC ALL) de um banco de dados (o cálculo padrão).
-
Um script de cálculo que calcula todas as dimensões em uma instrução CALC DIM.
Por exemplo, o seguinte script de cálculo calcula todos os membros no banco de dados Básico de Amostra:
CALC DIM(Measures, Product, Market, Year, Scenario);Compare este script de cálculo com um script de cálculo que calcula todos os membros com duas instruções CALC DIM:
CALC DIM(Measures, Product); CALC DIM(Market, Year, Scenario);
O uso de duas instruções CALC DIM faz com que o Essbase execute pelo menos dois cálculos no banco de dados. Nesse cálculo, o Essbase não marca, por padrão, os blocos de dados como limpos. Como o Cálculo Inteligente depende de um status limpo e sujo preciso, você deve gerenciar esses marcadores com cuidado.
O Essbase marca os blocos de dados calculados como limpos somente nas situações descritas acima, a menos que você use o comando SET CLEARUPDATESTATUS em um script de cálculo. Consulte O comando SET CLEARUPDATESTATUS.
Blocos marcados como "sujos"
O Essbase marca um bloco de dados como sujo nestas situações:
-
Calcular o bloco de dados para um cálculo parcial do banco de dados somente se SET CLEARUPDATESTATUS AFTER não fizer parte da instrução de cálculo parcial no script de cálculo
-
Carregando dados no bloco de dados
-
Reestruturação do banco de dados (por exemplo, adicionando um membro a uma dimensão densa)
-
Copiar dados para o bloco de dados; por exemplo, usando DATACOPY
Manutenção do Status Limpo/Sujo
Para usar o Cálculo Inteligente ao calcular um subconjunto de um banco de dados ou realizar várias passagens de cálculo, considere cuidadosamente as implicações de como o Essbase marca os blocos de dados como limpos, para garantir que o Essbase recalcule o banco de dados da forma mais eficiente possível.
Por exemplo, quando você calcula um subconjunto de um banco de dados, os blocos de dados recém-calculados não são marcados como limpos por padrão. É possível garantir que os blocos recém-calculados sejam marcados como limpos usando o comando SET CLEARUPDATESTATUS AFTER em um script de cálculo. Antes de criar o script de cálculo, consulte O comando SET CLEARUPDATESTATUS.