Sintassi della formula di Essbase
Le formule vengono sviluppate nei cubi di memorizzazione a blocchi utilizzando la sintassi di calcolo di Essbase, inclusi i nomi dei membri, le equazioni, i valori, gli operatori, i terminatori delle istruzioni e le virgolette.
Quando si creano formule membro, attenersi alle regole riportate di seguito.
-
Terminare ogni affermazione nella formula con un punto e virgola (;). Ad esempio:
Margin % Sales; -
Utilizzare solo i nomi dei membri profilo salvati. Se si utilizza una variabile di sostituzione per un nome membro, il valore della variabile di sostituzione deve essere un nome membro profilo salvato.
-
Racchiudere il nome di un membro tra virgolette doppie (
"") se il nome del membro soddisfa una delle seguenti condizioni:-
Contiene spazi. Ad esempio:
"Opening Inventory" = "Ending Inventory" - Sales + Additions; -
Uguale a operatore, nome funzione o parola chiave.
-
Include qualsiasi carattere non alfanumerico. Ad esempio, trattini (-), asterischi (*) e barre (/).
-
È tutto numerico o inizia con uno o più numeri. Ad esempio,
"100"o"10Prod"
Per un elenco completo dei nomi dei membri che devono essere racchiusi tra virgolette, vedere Convenzioni di denominazione negli script di calcolo, negli script di report, nelle formule, nei filtri e nei valori delle variabili di sostituzione e ambiente.
-
-
Terminare ogni istruzione IF in una formula con un'istruzione ENDIF.
Ad esempio, la seguente formula contiene una semplice istruzione IF...ENDIF. È possibile applicare questa formula al membro della Commissione in un profilo:
IF(Sales < 100) Commission = 0; ENDIF;Se si utilizza un'istruzione IF nidificata in un'altra istruzione IF, terminare ogni IF con un ENDIF. Ad esempio:
"Opening Inventory" (IF (@ISMBR(Budget)) IF (@ISMBR(Jan)) "Opening Inventory" = Jan; ELSE "Opening Inventory" = @PRIOR("Ending Inventory"); ENDIF; ENDIF;) -
Non è necessario terminare le istruzioni ELSE o ELSEIF con ENDIF. Ad esempio:
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;Nota
Se si utilizza ELSE IF (con uno spazio) anziché ELSEIF (una parola) in una formula, è necessario fornire un ENDIF per l'istruzione IF.
-
La fine delle istruzioni ENDIF con punto e virgola (;) non è necessaria, ma è una buona pratica.
Quando si scrivono formule, è possibile controllare la sintassi utilizzando lo strumento di controllo della sintassi Editor formule. Vedere Convalida della sintassi delle formule.
Fare riferimento a quanto riportato di seguito.