Ordem de Cálculo do Membro

A ordem padrão na qual o Essbase calcula membros do outline é, em geral: Contas, Tempo, denso e esparso, levando em consideração a ordem das dimensões no outline e se as fórmulas são aplicadas.

Quando você executa um cálculo padrão (CALC ALL) em um banco de dados, o Essbase calcula as dimensões nesta ordem:

  • Se existir uma dimensão marcada como contas e uma dimensão marcada como tempo e se as fórmulas forem aplicadas aos membros na dimensão de contas, o Essbase calculará nessa ordem:

    1. Dimensão marcada como contas

    2. Dimensão marcada como tempo

    3. Outras dimensões densas (na ordem em que são exibidas no outline do banco de dados)

    4. Outras dimensões esparsas (na ordem em que são exibidas no outline do banco de dados)

  • Caso contrário, o Essbase calculará nesta ordem:

    1. Dimensões densas (na ordem em que são exibidas no outline do banco de dados)

    2. Dimensões esparsas (na ordem em que são exibidas na estrutura de tópicos)

Observação:

As dimensões de atributo, que não estão incluídas na consolidação do banco de dados, não afetam a ordem de cálculo. Consulte Trabalhar com Atributos do Essbase.

No banco de dados Sample Basic, as dimensões são calculadas nesta ordem: Medidas, Ano, Cenário, Produto e Mercado.

É possível substituir a ordem padrão usando um script de cálculo. Consulte Desenvolver Scripts de Cálculo para Cubos de Armazenamento em Blocos.

Efeitos do Cálculo de Relacionamentos de Membros

A ordem de cálculo em cada dimensão do Essbase depende das relações entre os membros no outline. A forma como os membros no resumo (consolidar) é comparável a um odômetro.

Em cada ramificação (hierarquia) de uma dimensão, os valores de nível 0 são calculados primeiro, seguidos por seu nível 1, valor pai. Em seguida, os valores de nível 0 da próxima ramificação são calculados, seguidos por seu nível 1, valor pai. O cálculo continua dessa forma até que todos os níveis sejam calculados.

A imagem a seguir mostra a dimensão Year do banco de dados Sample Basic. A ordem de cálculo dos seus membros é indicada à esquerda de cada membro. Este exemplo pressupõe que os membros pai não sejam marcados como Cálculo Dinâmico.

Figura 19-3 Ordem de Cálculo para Dimensão de Ano do Básico de Amostra


Estrutura da dimensão Ano Expandido com números que ilustram a ordem de cálculo de seus membros. A ordem, de 1 a 17, é Jan, Fev, Mar, Qtr1, Abr, Maio, Jun, Qtr2, Jul, Ago, Set, Qtr3, Out, Nov, Dec, Qtr4, Ano.

Jan é o primeiro membro do primeiro ramo. Jan não tem fórmula, por isso não é avaliado. O mesmo se aplica a Fev e Mar, os outros dois membros da filial.

O Essbase calcula o Trim1 consolidando Jan, Fev e Mar. Neste exemplo, esses meses são adicionados, conforme indicado pelo operador de consolidação +, para fornecer um valor para o Trim1.

Em seguida, o Essbase calcula as ramificações Qtr2 a Qtr4 da mesma forma.

Por fim, o Essbase calcula o membro Ano consolidando os valores de Trim1 até Trim4. Conforme indicado pelos operadores de consolidação +, esses trimestres são adicionados para fornecer um valor para Ano.

Como os Membros Consolidam

Você pode escolher como o Essbase consolida membros em um cubo de armazenamento em blocos aplicando um operador de cálculo (+, -, /, *, %, ~, ^) aos membros no outline do banco de dados.

Se um membro de contas tiver uma tag de saldo de tempo (Primeiro, Último ou Médio), o Essbase a consolidará adequadamente. Consulte Calcular Primeiro, Último e Valores Médios.

Se um membro pai tiver um operador somente rótulo, o Essbase não calculará o pai de seus filhos.

Se um membro tiver um operador ~, o Essbase não consolidará o membro até seu pai.

Se um membro tiver um operador ^, o Essbase não consolidará o membro em nenhuma dimensão.

Observação:

Se você usar cálculos dinâmicos, o Essbase poderá usar uma ordem de cálculo diferente. Consulte Ordem de Cálculo para Cálculo Dinâmico.

Ordem das Dimensões na Estrutura de Tópicos do Banco de Dados

Para garantir os resultados de cálculo necessários, considere a ordem de cálculo das dimensões no outline do Essbase se ele usar operadores de cálculo para dividir (/), multiplicar (*), ou calcular porcentagens (%) para membros, ou se alguns membros tiverem fórmulas.

Não é necessário considerar a ordem de cálculo se você usar apenas operadores de cálculo para adicionar (+) e subtrair (–) membros no outline do banco de dados e não usar fórmulas no outline.

Fórmulas em Membros no Outline do Banco de Dados

Se você colocar fórmulas em membros no outline do Essbase, considere a ordem de cálculo das dimensões. Uma fórmula anexada a um membro em uma dimensão pode ser substituída por um cálculo subsequente em outra dimensão.

Por exemplo, o banco de dados Sample Basic tem uma dimensão Measures, marcada como accounts e uma dimensão Year, marcada como time.


Dimensão do ano do tipo Tempo e dimensão de Medidas parcialmente expandidas do tipo Contas, com Margem do membro destacada.

As medidas são calculadas primeiro e Ano segundo. Se você anexar uma fórmula à Margem na dimensão Medidas, o Essbase calculará a fórmula ao calcular a dimensão Medidas. Em seguida, o Essbase sobrescreve a fórmula ao consolidar a dimensão Ano. Consulte Ordem de Cálculo de Célula.

Uso dos Operadores de Cálculo *, / e %

Se você usar operadores de cálculo para multiplicar ( * ), dividir ( / ), e calcular porcentagens ( % ) para membros no outline do Essbase, considere a ordem de cálculo das dimensões. Os valores calculados necessários podem ser substituídos por um cálculo subsequente em outra dimensão.

Por exemplo, o banco de dados Sample Basic tem uma dimensão Measures, marcada como accounts e uma dimensão Year, marcada como time. As medidas são calculadas primeiro e Ano segundo. Se você multiplicar membros na dimensão Medidas, os resultados calculados poderão ser substituídos quando o Essbase consolidar valores na dimensão Ano. Consulte Ordem de Cálculo de Célula.

Quando você usa um operador de multiplicação ( * ), divisão ( / ), ou porcentagem ( % ) para consolidar membros, ordene cuidadosamente os membros na ramificação para obter o resultado necessário.

A Figura 19-4 mostra os operadores de cálculos conforme eles aparecem em um outline. Suponha que o usuário queira dividir o total de Filho 2 e Filho 3 pelo Filho 1. No entanto, se o Filho 1 for o primeiro membro, o Essbase começará com Filho 1, começando com o valor #MISSING e dividindo-o pelo Filho 1. O resultado é #MISSING. O Essbase adiciona Filho 2 e Filho 3. Obviamente, este resultado não é o obrigatório.

Figura 19-4 Operadores de Cálculo no Esquema de Tópicos do Banco de Dados


Operadores de cálculo em um outline.

Para calcular o resultado correto, torne o Filho 1 o último membro na ramificação.

Você pode aplicar uma fórmula a um membro no outline do banco de dados para obter o mesmo resultado. No entanto, é muito mais eficiente usar esses operadores de cálculo em membros, conforme mostrado na Figura 19-4.

Evitar referências de cálculo de encaminhamento

Para obter os resultados de cálculo esperados, certifique-se de que o outline não contenha referências de cálculo de encaminhamento. Referências de cálculo de avanço ocorrem quando o valor de um membro de cálculo depende de um membro que o Essbase ainda não tenha calculado. Nesses casos, o Essbase pode não produzir os resultados de cálculo necessários.

Por exemplo, considere a dimensão Produto mostrada abaixo, que tem três referências de cálculo de encaminhamento: dois membros compartilhados (P100–20 e P300–20) e um membro não compartilhado (P500–20):

Figura 19-5 Dimensão do Produto com Referências de Cálculo a Termo


Esta imagem mostra o contorno da dimensão Produto com três referências de cálculo de encaminhamento.

No Editor de Outline, quando você verifica o outline, o Essbase identifica membros compartilhados com referências de cálculo de encaminhamento. A verificação do outline não identifica membros não compartilhados que tenham referências de cálculo de encaminhamento. Você pode salvar e usar um outline contendo referências de cálculo de encaminhamento.

Considere os cinco membros da Dieta. Os membros P100-20, P300-20 e P500-20 têm referências de cálculo de encaminhamento:

  • P100-20 (+) (Membro Compartilhado): o Essbase calcula o membro compartilhado P100-20 antes de calcular o membro do protótipo P100-20. Como o membro do protótipo P100-20 tem filhos, o Essbase deve calcular o membro do protótipo adicionando seus filhos antes de poder calcular com precisão o membro compartilhado P100-20.

  • P300-20 (+) (Membro Compartilhado): o Essbase calcula o membro compartilhado P300-20 antes de calcular o membro do protótipo P300-20. Como o membro do protótipo P300-20 tem uma fórmula, o Essbase deve calcular o membro do protótipo antes de poder calcular com precisão o membro compartilhado P300-20.

  • P500-20 (+) ("P200-20" + "P300-20"): A fórmula aplicada a P500-20 refere-se aos membros que o Essbase ainda não calculou. Um desses membros do protótipo, P300-20, tem sua própria fórmula, e o Essbase deve calcular P300-20 antes de poder calcular P500-20 com precisão. Os membros P200-20 e P400-20 calculam corretamente, porque não têm referências de cálculo de encaminhamento.

  • P200-20 (+) (Membro Compartilhado): P200-20 não é uma referência de cálculo de encaminhamento, embora o Essbase calcule o membro compartilhado P200-20 antes de calcular o membro do protótipo P200-20. O membro do protótipo P200-20 não tem dependências de cálculo (sem filhos e sem fórmula). Portanto, o Essbase não precisa calcular o membro do protótipo antes do membro compartilhado. O Essbase simplesmente assume o valor do membro do protótipo.

  • P400-20 (+) ("P200-10" * 2): P400-20 não é uma referência de cálculo de encaminhamento, embora a fórmula aplicada a P400-20 faça referência a um membro que o Essbase ainda não tenha calculado. O protótipo do membro na fórmula não tem dependências de cálculo. P200-10 é o único membro da fórmula, e P200-10 não tem filhos ou uma fórmula. O Essbase calcula com precisão o P400-20.

Para obter resultados de cálculo precisos para P100-20, P300-20 e P500-20, altere a ordem dos membros na estrutura. Ao colocar os membros compartilhados da Dieta após os membros Regulares, conforme mostrado abaixo, você garante que o Essbase calcule os membros na ordem necessária.

Figura 19-6 Dimensão do Produto Alterada sem Referências de Cálculo a Termo


Esta imagem mostra o outline da dimensão Produto sem referências de cálculo de encaminhamento.

Agora, o Essbase calcula:

  • O membro do protótipo P100-20 antes de calcular o membro compartilhado P100-20. Portanto, P100-20 não tem mais uma referência de cálculo de encaminhamento.

  • O membro protótipo P300-20 antes do membro compartilhado P300-20. Portanto, P300-20 não tem mais uma referência de cálculo de encaminhamento.

  • O membro com a fórmula P300-20, antes do membro P500-20. Portanto, P500-20 não tem mais uma referência de cálculo de encaminhamento.