Sintaxe do Script de Cálculo Básico de Aprendizagem
Ao criar scripts de cálculo para cubos de armazenamento em bloco do Essbase, há algumas regras de sintaxe a serem aprendidas. Geralmente, os comandos são terminados por ponto e vírgula. As aspas devem ser usadas em torno de determinados nomes de membros. O Essbase pode ajudar a validar a sintaxe.
Regras gerais de sintaxe
Os cubos de armazenamento em bloco do Essbase incluem um conjunto flexível de comandos que você pode usar para controlar como o cubo é calculado. Você pode construir scripts de cálculo com base em comandos e fórmulas.
Ao criar um script de cálculo, você deve aplicar as seguintes regras:
-
Termine cada comando de fórmula ou script de cálculo com um ponto-e-vírgula (;). Por exemplo:
Exemplo 1
CALC DIM(Product, Measures);Exemplo 2
DATACOPY Plan TO Revised_Plan;Exemplo 3
"Market Share" = Sales % Sales -> Market;Exemplo 4
IF (Sales <> #MISSING) Commission = Sales * .9; ELSE Commission = #MISSING; ENDIF;Não é necessário encerrar os seguintes comandos condicionais ou de fluxo de controle com ponto e vírgula:
- IF
- ENDIF
- ELSE
- ELSIF
- FIX
- ENDFIX
- EXCLUDE
- EXCLUIR
- LOOP
- ENDLOOP
Observação:
Embora não seja obrigatório, a Oracle recomenda terminar cada instrução ENDIF em uma fórmula com ponto e vírgula.
-
Coloque um nome de membro entre aspas duplas (" "), se esse nome de membro corresponder a qualquer uma das seguintes condições:
-
Contém espaços.
Por exemplo, na seguinte fórmula, Inventário de Abertura e Inventário Final estão entre aspas duplas:
"Opening Inventory" = "Ending Inventory" - Sales + Additions; -
É igual a um operador, nome de função ou palavra-chave.
-
Inclui qualquer caractere não alfanumérico, como um hífen ( - ), asterisco ( * ), ou barra ( / ).
-
Contém apenas numerais ou começa com um numeral.
Por exemplo: "100" ou "10Prod"
-
Começa com um E comercial (&). O E comercial à esquerda (&) é reservado para variáveis de substituição. Se o nome de um membro começar com &, coloque o nome entre aspas.
Observação:
Não coloque as variáveis de substituição entre aspas em um script de cálculo.
-
Contém um ponto (.).
Por exemplo: 1999. Jan ou .100
-
-
Se você estiver usando uma instrução IF ou uma fórmula interdependente, coloque a fórmula entre parênteses para associá-la ao membro especificado.
Por exemplo, a seguinte fórmula está associada ao membro da Comissão na estrutura da base de dados:
Commission (IF(Sales < 100) Commission = 0; ENDIF;) -
Finalize cada instrução IF em uma fórmula com uma instrução ENDIF.
Por exemplo, a fórmula anterior contém uma simples instrução IF...ENDIF.
-
Se estiver usando uma instrução IF que esteja aninhada em outra instrução IF, encerre cada IF com uma instrução 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 instruções ENDIF.
Por exemplo:
Marketing (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.
-
Finalize cada instrução FIX com uma instrução ENDFIX.
Por exemplo:
FIX(Budget,@DESCENDANTS(East)) CALC DIM(Year, Measures, Product); ENDFIX -
Finalize cada instrução EXCLUDE com uma instrução ENDEXCLUDE.
Ao gravar um script de cálculo usando a interface web do Essbase, você pode usar o verificador de sintaxe para validá-lo.
Usar Comentários em Scripts de Cálculo
É possível incluir comentários para anotar scripts de cálculo. Os comentários são ignorados quando o script de cálculo é executado.
Para incluir um comentário, inicie o comentário com /* e encerre o comentário com */. Por exemplo:
/* This calculation script comment
spans two lines. */Verificar a Sintaxe
O editor de script de cálculo na interface web do Essbase inclui validação de sintaxe que sinaliza erros de sintaxe (como um nome de função digitado incorretamente) em um script de cálculo.
Se não forem encontrados erros de sintaxe, o Essbase indicará que a verificação de sintaxe foi bem-sucedida.
Se forem encontrados erros de sintaxe, o Essbase indicará que a verificação de sintaxe falhou e exibirá um erro de cada vez, indicando onde o erro ocorreu.
Observação:
O verificador de sintaxe não pode determinar erros semânticos, que ocorrem quando um script de cálculo não funciona como você espera. Para localizar erros semânticos, execute o cálculo e verifique os resultados para garantir que eles estejam como você espera.