Ordem de Cálculo da Célula
A ordem em que o Essbase calcula as células dentro de cada bloco de dados depende de como você configurou o banco de dados.
Cada bloco de dados contém todos os valores de membro de dimensão densos para sua combinação exclusiva de membros de dimensão esparsa. Cada valor de dados está contido em uma célula do bloco de dados.
A forma como você configurou o banco de dados determina a ordem de cálculo dos membros de dimensão densa em cada bloco, bem como a ordem de cálculo dos blocos que representam membros de dimensão esparsa.
Veja os seguintes exemplos:
Ordem de Cálculo da Célula: Exemplo 1
Neste exemplo, que é o caso mais simples, estas condições são verdadeiras:
-
Nenhuma dimensão tem tags de tempo ou contas.
-
A configuração para consolidar valores #MISSING está ativada.
-
Mercado e Ano são dimensões densas.
O Essbase calcula dimensões densas na ordem em que são definidas no outline do banco de dados. Suponha que a dimensão Ano esteja posicionada na estrutura do banco de dados antes da dimensão Mercado e seja calculada primeiro.
A grade a seguir mostra um segmento (um subconjunto das células em um bloco de dados). Na grade, a ordem de cálculo das células do intervalo é representada pelos números de 1 a 6.
Tabela 19-3 Exemplo de Ordem de Cálculo 1: Células de Entrada e Células Calculadas
| Mercado anual | New York | Massachusetts | Leste |
|---|---|---|---|
| Jan | 112.345 | 68.754 | 3 |
| Fev | 135.788 | 75.643 | 4 |
| Mar | 112.234 | 93.456 | 5 |
| Trim1 | 1 | 2 | 6 |
Os valores de dados foram carregados nas seguintes células de entrada:
-
Jan -> Nova Iorque
-
Fev -> Nova Iorque
-
Mar -> Nova Iorque
-
Jan -> Rio de Janeiro
-
Fev -> Massachusetts
-
Mar -> Rio de Janeiro
O Essbase calcula as células na ordem a seguir.
-
Qtr1 -> Rio de Janeiro
-
Qtr1 -> Rio de Janeiro
-
Jan -> Leste
-
Fev -> Leste
-
Mar -> Leste
-
Trim1 -> Leste
Qtr1 -> Leste tem vários caminhos de consolidação; pode ser consolidado no Mercado ou no Ano. Quando consolidado no Mercado, é uma consolidação de Qtr1 -> Nova York e Qtr1 -> Massachusetts. Quando consolidado no Ano, é uma consolidação de Jan -> Leste, Fev -> Leste e Mar -> Leste.
O Essbase sabe que Trim1 -> Leste tem vários caminhos de consolidação. Portanto, ele calcula Qtr1 -> Leste apenas uma vez, consolidando os valores para Qtr1 e usa o caminho de consolidação da dimensão calculada por último (neste exemplo, a dimensão Mercado), conforme mostrado abaixo.
Tabela 19-4 Exemplo de Ordem de Cálculo 1: Resultados
| Mercado anual | New York | Massachusetts | Leste |
|---|---|---|---|
| Jan | 112.345 | 68.754 | 181.099 |
| Fev | 135.788 | 75.643 | 211.431 |
| Mar | 112.234 | 93.456 | 205.690 |
| Trim1 | 360.367 | 237.853 | 598.220 |
Com base na ordem de cálculo, se você colocar uma fórmula de membro no Trimestre 1, o Essbase a ignorará ao calcular o Trimestre 1 -> Leste. Se você colocar uma fórmula de membro no Leste, a fórmula será calculada quando o Essbase consolidar Qtr1 -> Leste ao longo do Mercado.
Se necessário, você pode usar um script de cálculo para calcular as dimensões na ordem escolhida.
Ordem de Cálculo da Célula: Exemplo 2
Neste exemplo, estas condições são verdadeiras:
-
Nenhuma dimensão tem tags de tempo ou contas.
-
A configuração para consolidar valores #MISSING está desativada (o padrão).
-
Mercado e Ano são dimensões densas.
O Essbase calcula dimensões densas na ordem em que são definidas no outline do banco de dados. Suponha que a dimensão Ano esteja posicionada na estrutura do banco de dados antes da dimensão Mercado e seja calculada primeiro.
A grade a seguir mostra um segmento (um subconjunto das células em um bloco de dados). Na grade, a ordem de cálculo das células do intervalo é representada pelos números de 1 a 7.
Tabela 19-5 Exemplo de Ordem de Cálculo 2: Células de Entrada e Células Calculadas
| Mercado anual | New York | Massachusetts | Leste |
|---|---|---|---|
| Jan | 112.345 | 68.754 | 4 |
| Fev | 135.788 | 75.643 | 5 |
| Mar | 112.234 | 93.456 | 6 |
| Trim1 | 1 | 2 | 3/7 |
Os valores de dados foram carregados nas seguintes células de entrada:
-
Jan -> Nova Iorque
-
Fev -> Nova Iorque
-
Mar -> Nova Iorque
-
Jan -> Rio de Janeiro
-
Fev -> Massachusetts
-
Mar -> Rio de Janeiro
O Essbase calcula as células Qtr1 para as células de Nova York, Massachusetts e Leste e Leste para Jan, Fev e Março.
-
Qtr1 -> Rio de Janeiro
-
Qtr1 -> Rio de Janeiro
-
Trim1 -> Leste
-
Jan -> Leste
-
Fev -> Leste
-
Mar -> Leste
-
Trim1 -> Leste
Qtr1 -> Leste é calculado nos caminhos de consolidação Ano e Mercado. Primeiro, Qtr1 -> Leste é calculado como uma consolidação de Qtr1 -> Nova York e Qtr1 -> Massachusetts. Segundo, Qtr1 -> Leste é calculado como uma consolidação de Jan -> Leste, Fev -> Leste e Mar -> Leste.
Os resultados são idênticos aos resultados, por exemplo 1. No entanto, Qtr1 -> Leste foi calculado duas vezes. Esse fato é significativo quando você precisa carregar dados nos níveis pai.
Com base na ordem de cálculo, se você colocar uma fórmula de membro em Trim1, seu resultado será substituído quando o Essbase consolidar Trim1 -> Leste ao longo do Mercado. Se você colocar uma fórmula de membro no Leste, o resultado será mantido porque o Mercado é calculado por último.
Tabela 19-6 Exemplo de Ordem de Cálculo 2: Resultados
| Mercado anual | New York | Massachusetts | Leste |
|---|---|---|---|
| Jan | 112.345 | 68.754 | 181.099 |
| Fev | 135.788 | 75.643 | 211.431 |
| Mar | 112.234 | 93.456 | 205.690 |
| Trim1 | 360.367 | 237.853 | 598.220 |
Ordem de Cálculo da Célula: Exemplo 3
Neste exemplo, considere uma fatia de dados em uma dimensão compacta e armazenada. A configuração do banco de dados determina que a ordem das dimensões define a ordem de cálculo. Há dois caminhos de consolidação pelos quais os blocos serão calculados.
Neste exemplo, estas condições são verdadeiras:
-
Nenhuma dimensão tem tags de tempo ou contas.
-
A configuração para consolidar valores #MISSING está desativada (o padrão).
-
Os valores de dados foram carregados nos níveis pai.
-
Mercado e Ano são dimensões densas.
O Essbase calcula dimensões densas na ordem em que são definidas no outline do banco de dados. Suponha que a dimensão Ano esteja posicionada na estrutura do banco de dados antes da dimensão Mercado e seja calculada primeiro.
A grade a seguir mostra um segmento (subconjunto das células em um bloco de dados) que precisa ser calculado.
Tabela 19-7 Exemplo de Ordem de Cálculo 3: Células de Entrada e Valores #MISSING
| Mercado anual | New York | Massachusetts | Leste |
|---|---|---|---|
| Jan | #AUSENTE | #AUSENTE | 181.099 |
| Fev | #AUSENTE | #AUSENTE | 211.431 |
| Mar | #AUSENTE | #AUSENTE | 205.690 |
| Trim1 | #AUSENTE | #AUSENTE |
As células são calculadas na mesma ordem que em Ordem de Cálculo de Célula: Exemplo 2. Qtr1 -> Leste é calculado nos caminhos de consolidação Ano e Mercado.
Como a configuração para consolidar valores #MISSING está desativada, o Essbase não consolida os valores #MISSING. Assim, os dados carregados nos níveis pai não são substituídos pelos valores #MISSING abaixo dele.
No entanto, se qualquer um dos valores de dados filho não for #MISSING, esses valores serão consolidados e substituirão os valores pai. Por exemplo, se Jan -> Nova York contiver 50000.00, esse valor substituirá os valores carregados nos níveis pai.
O Essbase deve calcular a célula Trim1 -> Leste duas vezes para garantir que um valor seja calculado para a célula. Se Qtr1 -> Leste for calculado de acordo apenas com o último caminho de consolidação, o resultado será #MISSING, que não é o resultado necessário.
Os resultados mostram que o Essbase primeiro calcula corretamente a célula Trim1 -> Leste consolidando Jan -> Leste, Fev -> Leste e Mar -> Leste e, em seguida, calcula o caminho de consolidação do Mercado. No entanto, não consolida os valores #MISSING em Qtr1 -> New York e Qtr1 -> Massachusetts; portanto, o valor em Qtr1 -> East não é substituído.
Tabela 19-8 Exemplo de Ordem de Cálculo 3: Resultados
| Mercado anual | New York | Massachusetts | Leste |
|---|---|---|---|
| Jan | #AUSENTE | #AUSENTE | 181.099 |
| Fev | #AUSENTE | #AUSENTE | 211.431 |
| Mar | #AUSENTE | #AUSENTE | 205.690 |
| Trim1 | #AUSENTE | #AUSENTE | 598.220 |
Ordem de Cálculo da Célula: Exemplo 4
Neste exemplo, considere uma fatia de dados em uma dimensão armazenada. A configuração do banco de dados determina em que ordem os blocos serão calculados.
Neste exemplo, estas condições são verdadeiras:
-
A dimensão Ano é marcada como Tempo.
-
A dimensão Medidas está marcada como Contas.
O Essbase calcula uma dimensão marcada como Contas primeiro, seguida por uma dimensão marcada como Tempo. Portanto, neste exemplo, as Medidas são calculadas antes do Ano.
-
A configuração para consolidar valores #MISSING está desativada (o padrão).
-
Os valores de Marketing, Folha de Pagamento e Despesas Diversas foram carregados nos trimestres (nível 1).
A imagem abaixo mostra a ramificação Profit da dimensão Measures no banco de dados Sample Basic. Este exemplo pressupõe que o Total de Despesas seja armazenado (não um membro do Cálculo Dinâmico).
Figura 19-9 Filial de Lucro da Dimensão Medidas

Como não há fórmulas e o #MISSING não se consolida, os valores de nível superior não são substituídos. Os valores de dados com dois caminhos de consolidação (as medidas não de nível 0) são calculados duas vezes.
A grade a seguir mostra um segmento (um subconjunto das células em um bloco de dados). Na grade, a ordem de cálculo das células do intervalo é representada pelos números de 1 a 17.
Tabela 19-9 Exemplo de Ordem de Cálculo 4: Células de Entrada, Valores #MISSING e Células Calculadas
| Medidas/Ano | Jan | Fev | Mar | Trim1 |
|---|---|---|---|---|
| Sales | 31.538 | 32.069 | 32.213 | 13 |
| COGS | 14.160 | 14307 | 14.410 | 14 |
| Margem | 1 | 4 | 7 | 15/10 |
| Marketing | #AUSENTE | #AUSENTE | #AUSENTE | 15.839 |
| Payroll | #AUSENTE | #AUSENTE | #AUSENTE | 12.168 |
| Diversos | #AUSENTE | #AUSENTE | #AUSENTE | 233 |
| Total de despesas | 2 | 5 | 8 | 11/16 |
| Lucro | 3 | 6 | 9 | 12/17 |
As células a seguir têm vários caminhos de consolidação:
-
Margem -> Trimestre1
-
Total de despesas -> Trimestre 1
-
Lucro -> Trim1
Como a configuração para consolidar valores #MISSING está desativada, o Essbase não consolida os valores #MISSING. Qualquer dado carregado nos níveis pai não é substituído pelos valores #MISSING, e o Essbase calcula as células com vários caminhos de consolidação duas vezes.
Com base na ordem de cálculo, se você colocasse uma fórmula em Margem, seu resultado seria substituído pela consolidação em Trim1.
Os resultados são mostrados abaixo:
Tabela 19-10 Exemplo de Ordem de Cálculo 4: Resultados
| Medidas/Ano | Jan | Fev | Mar | Trim1 |
|---|---|---|---|---|
| Sales | 31.538 | 32.069 | 32.213 | 95.820 |
| COGS | 14.160 | 14307 | 14.410 | 42.877 |
| Margem | 17.378 | 17.762 | 17.803 | 52.943 |
| Marketing | #AUSENTE | #AUSENTE | #AUSENTE | 15.839 |
| Payroll | #AUSENTE | #AUSENTE | #AUSENTE | 12.168 |
| Diversos | #AUSENTE | #AUSENTE | #AUSENTE | 233 |
| Total de despesas | 28.240 | |||
| Lucro | 17.378 | 17.762 | 17.803 | 12/17 |
Ordem de Cálculo da Célula para Fórmulas em uma Dimensão Densa
Ao colocar uma fórmula em um membro de dimensão densa, considere cuidadosamente a ordem de cálculo da célula. Conforme ilustrado nos exemplos anteriores, a dimensão calculada pela última vez substitui os cálculos de célula anteriores para células com vários caminhos de consolidação.
A ordem de cálculo da célula em um bloco de dados não é afetada por fórmulas em membros. Quando o Essbase encontra uma fórmula em um bloco de dados, ele bloqueia qualquer outro bloco de dados necessário, calcula a fórmula e prossegue com o cálculo do bloco de dados.
Se necessário, você pode usar um script de cálculo para alterar a ordem em que as dimensões são calculadas. Consulte Desenvolver Scripts de Cálculo para Cubos de Armazenamento de Bloco e Desenvolver Fórmulas para Cubos de Armazenamento de Bloco.