Alocar Valores em uma Dimensão

Este exemplo de script de cálculo do Essbase usa a função @ALLOCATE para alocar despesas totais orçadas entre categorias de despesa para dois produtos. As despesas totais orçadas são alocadas com base nos valores reais do ano anterior.

Suponha que você tenha feito as seguintes alterações no Sample Basic, conforme mostrado na estrutura ilustrada abaixo:

  • Adicionado um filho, Leasing, em Despesas Totais na dimensão Medidas

  • Adicionado um filho, PY Real, à dimensão Cenário

Figura 24-3 Medidas Modificadas e Dimensões de Cenário


Exemplo de seção de estrutura Básica, com dimensões de Medidas e Cenário modificadas.

Suponha que os valores de dados 1000 e 2000 sejam carregados em Orçamento -> Total de Despesas para Colas e Cerveja Raiz, respectivamente. Esses valores devem ser alocados para cada categoria de despesa, distribuindo uniformemente os valores com base nos filhos não ausentes do Total de Despesas de PY Real. Os valores alocados devem ser arredondados para o dólar mais próximo.

Exemplo de script:

/* Allocate budgeted total expenses based on prior year */

FIX("Total Expenses")
   Budget = @ALLOCATE(Budget->"Total Expenses",
   @CHILDREN("Total Expenses"),"PY Actual",,
   spread,SKIPMISSING,roundAmt,0,errorsToHigh)
ENDFIX

Os resultados do script de cálculo:

                             Budget   PY Actual
Colas       Marketing        334 *    150
            Payroll          #MI      #MI
            Lease            333      200
            Misc             333      100
            Total Expenses   1000     450
Root Beer   Marketing        500      300
            Payroll          500      200
            Lease            500      200
            Misc             500      400
            Total Expenses   2000     1100

* Erros de arredondamento são adicionados a este valor.

O Essbase percorre o banco de dados, executando os seguintes cálculos:

  1. Correções nos filhos do Total de Despesas.

    O uso de uma instrução FIX com @ALLOCATE pode melhorar o desempenho do cálculo.

  2. Para Orçamento -> Colas -> Marketing, divide 1 pela contagem de valores não ausentes para cada categoria de despesa em PY Real -> Colas para cada mês.

    Nesse caso, 1 é dividido por 3, porque há 3 valores de despesa não ausentes para Budget -> Colas.

  3. Pega o valor da etapa 2 (.333), multiplica-o pelo valor de Orçamento -> Colas -> Total de Despesas (1000) e arredonda para o dólar mais próximo (333). O resultado é colocado em Orçamento -> Colas -> Marketing.

  4. Repete as etapas 2 e 3 para cada categoria de despesa para Orçamento -> Colas e, em seguida, para Orçamento -> Cerveja Raiz.

  5. Conforme especificado no script de cálculo, os valores alocados são arredondados para o dólar inteiro mais próximo.

    O Essbase faz uma segunda passagem pelo bloco para tornar a soma dos valores arredondados igual ao valor de alocação (por exemplo, 1000 para Orçamento -> Colas -> Total de Despesas). Neste exemplo, há um erro de arredondamento 1 para Orçamento -> Colas -> Total de Despesas, porque as categorias de despesa somam 999, e não 1000, que é o valor de alocação. Como todos os valores alocados são idênticos (333), o erro de arredondamento 1 é adicionado ao primeiro valor no intervalo de alocação, Orçamento -> Colas -> Marketing (assim, um valor de 334).