Exemplos de Testes Condicionais

Use testes condicionais em fórmulas do Essbase quando precisar de seus cálculos para avaliar dependências de dados.

Por exemplo, você pode aplicar a seguinte fórmula a um membro da Comissão na estrutura do cubo para calcular a comissão em 1% das vendas se as vendas forem maiores que 500000:

IF(Sales > 500000)
   Commission = Sales * .01;
ENDIF;

Se você colocar a fórmula em um script de cálculo, associe a fórmula ao membro Comissão, conforme mostrado:

Commission (IF(Sales > 500000)
   Commission = Sales * .01;
ENDIF;)

O Essbase percorre o cubo, executando estes cálculos:

  1. A instrução IF verifica se o valor de Vendas para a combinação de membros atual é maior que 500000.

  2. Se a opção Vendas for maior que 500000, o Essbase multiplicará o valor em Vendas por 0,01 e colocará o resultado em Comissão.

No próximo exemplo, a fórmula testa a ascendência do membro atual e, em seguida, aplica a fórmula de cálculo da Folha de Pagamento apropriada:

IF(@ISIDESC(East) OR @ISIDESC(West))
   Payroll = Sales * .15;
ELSEIF(@ISIDESC(Central))
   Payroll = Sales * .11;
ELSE
   Payroll = Sales * .10;
ENDIF;

Se você colocar a fórmula em um script de cálculo, deverá associá-la ao membro Folha de Pagamento, conforme mostrado:

Payroll(IF(@ISIDESC(East) OR @ISIDESC(West))
   Payroll = Sales * .15;
ELSEIF(@ISIDESC(Central))
   Payroll = Sales * .11;
ELSE
   Payroll = Sales * .10;
ENDIF;)

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

  1. A instrução IF usa a função @ISIDESC para verificar se o membro atual na dimensão Mercado é um descendente do Leste ou do Oeste.

  2. Se o membro atual na dimensão Mercado for um descendente de Leste ou Oeste, o Essbase multiplicará o valor em Vendas por 0,15 e passará para a próxima combinação de membros.

  3. Se o membro atual não for descendente de Leste ou Oeste, a instrução ELSEIF usará a função @ISIDESC para verificar se o membro atual é descendente de Central.

  4. Se o membro atual na dimensão Mercado for um descendente da Central, o Essbase multiplicará o valor em Vendas por 0,11 e passará para a próxima combinação de membros.

  5. Se o membro atual não for um descendente de Leste, Oeste ou Central, o Essbase multiplicará o valor em Vendas por 0,10 e passará para a próxima combinação de membros.

Consulte também Conceitos de Cálculo Multidimensional.