Cálculo de Baixo para Cima e de Cima para Baixo

Em um cubo de armazenamento em blocos do Essbase, os cálculos de cima para baixo são menos eficientes do que os cálculos de baixo para cima, porque mais blocos são calculados do que o necessário. Em alguns casos, os cálculos de cima para baixo podem ser necessários para garantir que os resultados do cálculo estejam corretos.

O Essbase executa um cálculo completo de um outline de banco de dados usando cálculo de baixo para cima ou cálculo de cima para baixo. Por padrão, o Essbase usa cálculo de baixo para cima em cubos de armazenamento em blocos que não são do modo híbrido.

Observação:

Se o cubo usar o modo híbrido, que é o padrão no Essbase 21c, você poderá ignorar as informações neste tópico. Os cubos do modo híbrido já estão otimizados para análise de dependência dinâmica. Para saber mais, consulte Adote o Modo Híbrido para Processamento Analítico Rápido.

Para um cálculo de baixo para cima, o Essbase determina quais blocos de dados devem ser calculados antes de calcular o cubo. O Essbase calcula somente os blocos que devem ser calculados. O cálculo começa com o bloco existente com o número de bloco mais baixo e funciona através de cada bloco em ordem de número até que o bloco existente com o número de bloco mais alto seja atingido. Consulte Ordem de Cálculo do Bloco.

Se o outline contiver uma fórmula de membro complexa, o Essbase executará um cálculo de cima para baixo para o membro relevante.

Cálculos de Baixo para Cima e Fórmulas Simples

Para fórmulas simples, o Essbase faz um cálculo de baixo para cima para determinar quais blocos devem ser calculados antes de executar o cálculo completo. Por exemplo, para uma fórmula simples em um membro (como A = B + C), A é calculado somente se B ou C existir no banco de dados. Ou seja, a dependência da fórmula em B e C é conhecida antes do início do cálculo.

Cálculos de Cima para Baixo e Fórmulas Complexas

Antes de iniciar um cálculo, o Essbase pesquisa o outline e marca fórmulas complexas que exigem cálculo top-down; por exemplo, uma fórmula de membro que contém uma referência multidimensional. Quando o Essbase atinge um membro com uma fórmula de cima para baixo, ele faz um cálculo de cima para baixo para o membro.

Quando uma fórmula de um membro é complexa, todos os blocos possíveis para o membro devem ser examinados para ver se um bloco existente deve ser alterado ou um novo bloco criado; é difícil determinar a dependência que os blocos têm de outros blocos antes do início do cálculo. O método de cima para baixo diminui o desempenho do cálculo porque o Essbase deve procurar blocos apropriados para calcular a fim de executar a fórmula.

Quando uma fórmula é compilada, se a fórmula deve ser calculada de cima para baixo, o Essbase registra uma mensagem no arquivo de log do aplicativo.

Considere a seguinte fórmula complexa:

A = B -> D + C -> D

Para calcular a fórmula, o Essbase deve examinar todas as combinações de A para ver se B -> D ou C -> D existe.

Consulte Fórmulas de Membro do Essbase Complexo.

Forçando Cálculo de Baixo para Cima

Se for apropriado para o site, você pode forçar um cálculo de baixo para cima em uma fórmula de cima para baixo.

Para forçar um cálculo bottom-up, use um dos seguintes métodos:

Forçar um cálculo de baixo para cima em uma fórmula geralmente aumenta o tempo de desempenho. Se a fórmula contiver funções complexas (por exemplo, funções de intervalo) ou se as dependências da fórmula não forem simples, um cálculo de baixo para cima poderá produzir resultados diferentes dos de um cálculo de cima para baixo.

Atenção:

Antes de alterar a configuração CALCOPTFRMLBOTTOMUP ou usar o comando de script de cálculo SET FRMLBOTTOMUP em um ambiente de produção, verifique a validade dos resultados do cálculo comparando, em relação aos mesmos dados, os resultados de um cálculo bottom-up e os resultados de um cálculo top-down.