Sintaxe de Fórmula do Essbase
Você desenvolve fórmulas em cubos de armazenamento em blocos usando a sintaxe de cálculo do Essbase, incluindo nomes de membros, equações, valores, operadores, terminadores de instrução e aspas.
Ao criar fórmulas de membro, siga estas regras:
-
Termine cada instrução na fórmula com um ponto e vírgula (;). Por exemplo:
Margin % Sales; -
Use somente nomes de membros de outline salvos. Se uma variável de substituição for usada para um nome de membro, o valor da variável de substituição deverá ser um nome de membro de estrutura salvo.
-
Coloque um nome de membro entre aspas duplas (
"") se o nome do membro atender a qualquer uma das seguintes condições:-
Contém espaços. Por exemplo:
"Opening Inventory" = "Ending Inventory" - Sales + Additions; -
É igual a um operador, nome de função ou palavra-chave.
-
Inclui qualquer caractere não alfanumérico. Por exemplo, hifens (-), asteriscos (*) e barras (/).
-
É tudo numérico ou começa com um ou mais numerais. Por exemplo,
"100"ou"10Prod"
Para obter uma lista completa de nomes de membros que devem ser colocados entre aspas, consulte Convenções de Nomenclatura em Scripts de Cálculo, Scripts de Relatório, Fórmulas, Filtros e Valores de Variável de Substituição e Ambiente.
-
-
Termine cada instrução IF em uma fórmula com uma instrução ENDIF.
Por exemplo, a seguinte fórmula contém uma simples instrução IF...ENDIF. Você pode aplicar esta fórmula ao membro da Comissão em um esboço:
IF(Sales < 100) Commission = 0; ENDIF;Se você estiver usando uma instrução IF aninhada em outra instrução IF, encerre cada IF com um ENDIF. Por exemplo:
"Opening Inventory" (IF (@ISMBR(Budget)) IF (@ISMBR(Jan)) "Opening Inventory" = Jan; ELSE "Opening Inventory" = @PRIOR("Ending Inventory"); ENDIF; ENDIF;) -
Você não precisa terminar instruções ELSE ou ELSEIF com ENDIFs. Por exemplo:
IF (@ISMBR(@DESCENDANTS(West)) OR @ISMBR(@DESCENDANTS(East) Marketing = Marketing * 1.5; ELSEIF(@ISMBR(@DESCENDANTS(South))) Marketing = Marketing * .9; ELSE Marketing = Marketing * 1.1; ENDIF;Observação:
Se você usar ELSE IF (com um espaço) em vez de ELSEIF (uma palavra) em uma fórmula, deverá fornecer um ENDIF para a instrução IF.
-
Encerrar instruções ENDIF com ponto-e-vírgula (;) não é obrigatório, mas é uma boa prática.
Ao gravar fórmulas, você pode verificar a sintaxe usando o verificador de sintaxe do Editor de Fórmulas. Consulte Validação da Sintaxe de Fórmula.
Consulte: