Exemplos de Fórmulas de Driver Personalizadas

Todos os exemplos de fórmulas de drivers personalizadas utilizam os seguintes valores:

  • Dimensões do estágio 1: GL_ Department x GL_Account

  • Dimensões do estágio 2: ACT_Department x ACT_Activity

O processo de geração do script de cálculo no Oracle Hyperion Profitability and Cost Management insere o script definido para um driver personalizado em qualquer origem que utiliza esse driver. O script gerado pelo sistema criará as sentenças FIX para apontar combinações de origem e destino específicas, conforme definido pela lógica de atribuição anexa à origem.

O script de driver personalizado não precisa fornecer esse FIX, mas ele pode aproveitá-lo ou modificá-lo para fazer referência a dados em locais diferentes dos locais que normalmente são definidos para os locais das medidas Destino, Origem, Atribuição ou Global.

Os usos comuns de drivers personalizados dependem da habilidade de fazer referência a dados armazenados em locais diferentes dos quatro normais permitindo ao usuário inserir medidas do driver em níveis mais altos na hierarquia ou em menos interseções.

A sentença FIX padrão que a medida CalculatedDriverValue computou reflete o vínculo entre a origem e o destino. Utilizando os estágios de exemplo, o FIX criado pelo script gerado pelo sistema é mostrado a seguir:

GL_Department.member x GL_Account.member x ACT_Department.member x ACT_Activity.member

em que os membros de cada dimensão refletem as interseções de origem e de destino da alocação sendo realizada.

Os exemplos a seguir modificarão esse FIX padrão para recuperar as medidas de driver de outro local. Lembre-se de que se o membro referenciado pelo FIX padrão estiver correto para seus propósitos, não será necessário substituí-lo.

Exemplo 1: fazer referência a uma medida de driver localizada em apenas uma das dimensões de destino. Cruze NoMember em outra (nesse caso ACT_Department)

"CalculatedDriverValue" = "DriverMeasure" ->"[ACT_Activity.NoMember] ->"[ GL_Department.NoMember] ->"[ GL_Account.NoMember];

Utilize essa fórmula quando houver um valor de driver único para o departamento todo, por exemplo: pés quadrados, metros quadrados ou número de funcionários.

Exemplo 2: fazer referência a uma medida de driver localizada no pai de uma das dimensões de destino. Cruze NoMember em outra dimensão:

"CalculatedDriverValue" = "DriverMeasure" ->"[ACT_Activity.NoMember]"->"(@PARENT(ACT_Department)" ->"[ GL_Department.NoMember] ->"[ GL_Account.NoMember];

Como alternativa, é possível fazer referência à Geração do ascendente ao qual você deseja recuperar o valor utilizando a função @ANCSET. Nesse exemplo, o driver puxa o valor DriverMeasure do ascendente Geração 2 do membro do Departamento do destino.

"CalculatedDriverValue" = "DriverMeasure" ->"[ACT_Activity.NoMember]"->"(@ANCEST(ACT_Department, 2)" ->"[ GL_Department.NoMember] ->"[ GL_Account.NoMember];

Outro uso comum é o ajuste do valor de cálculo do driver de acordo com a natureza da combinação origem/destino. Esse opção permite que o driver se adapte a circunstâncias específicas com base nas características das interseções envolvidas na alocação.

Exemplo 3: fazer referência a uma medida diferente para cálculos do driver com base na UDA de um dos membros de destino:

IF(@ISUDA(Activity,"UDA1"))

"CalculatedDriverValue" = {Measure1->Destination};

ELSE IF (@ISUDA(Activity,"UDA2"))

"CalculatedDriverValue" = {Measure2->Destination};

ELSE IF (@ISUDA(Activity,"UDA3"))

"CalculatedDriverValue" = {Measure3->Destination};

ENDIF;

Utilize essa fórmula se for necessário ajustar a fórmula do driver de acordo com uma característica do destino, como o fator de forma do produto ou classificação do cliente. Note que a sintaxe no exemplo ‘{Measure1->Destination}’ não corresponde à sintaxe do script de cálculo do Oracle Essbase. O uso das chaves ({ }) permite ao Profitability and Cost Management interpretar a abreviação ‘->Destination’ padrão e substituí-la pelo destino real. Quando o script for implantado no Essbase, o Profitability irá inserir as referências do membro e a sintaxe corretas.