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:
-
A instrução IF verifica se o valor de Vendas para a combinação de membros atual é maior que 500000.
-
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:
-
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.
-
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.
-
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.
-
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.
-
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.