Grundlegende Berechnungsskriptsyntax erlernen
Beim Entwerfen von Berechnungsskripten für Essbase Block Storage-Cubes müssen Sie einige Syntaxregeln kennen. Befehle werden im Allgemeinen durch ein Semikolon beendet. Anführungszeichen müssen um bestimmte Elementnamen herum verwendet werden. Mit Essbase können Sie die Syntax validieren.
Allgemeine Syntaxregeln
Essbase Block Storage-Cubes enthalten eine flexible Gruppe von Befehlen, mit denen Sie steuern können, wie der Cube berechnet wird. Sie können Berechnungsskripte aus Befehlen und Formeln erstellen.
Wenn Sie ein Berechnungsskript erstellen, müssen Sie die folgenden Regeln anwenden:
-
Beenden Sie jeden Formel- oder Berechnungsskriptbefehl mit einem Semikolon (;). Beispiel:
Beispiel 1
CALC DIM(Product, Measures);Beispiel 2
DATACOPY Plan TO Revised_Plan;Beispiel 3
"Market Share" = Sales % Sales -> Market;Beispiel 4
IF (Sales <> #MISSING) Commission = Sales * .9; ELSE Commission = #MISSING; ENDIF;Die folgenden Bedingungsbefehle oder Steuerungsflussbefehle müssen nicht mit Semikolons beendet werden:
- IF
- ENDIF
- ELSE
- ELSIF
- FIX
- ENDFIX
- EXCLUDE
- ENDEXCLUDE
- LOOP
- ENDSCHLEIFE
Hinweis:
Obwohl dies nicht erforderlich ist, empfiehlt Oracle, jede ENDIF-Anweisung in einer Formel mit einem Semikolon zu beenden.
-
Setzen Sie einen Elementnamen in doppelte Anführungszeichen (" "), wenn dieser Elementname einer der folgenden Bedingungen entspricht:
-
Enthält Leerzeichen.
Beispiel: In der folgenden Formel werden Anfangsbestand und Endbestand in doppelte Anführungszeichen gesetzt:
"Opening Inventory" = "Ending Inventory" - Sales + Additions; -
Entspricht einem Operator, Funktionsnamen oder Schlüsselwort.
-
Enthält alle nicht-alphanumerischen Zeichen, wie Bindestrich ( - ), Sternchen ( * ) oder Schrägstrich ( / ).
-
Enthält nur Zahlen oder beginnt mit einer Zahl.
Beispiel: "100" oder "10Prod"
-
Beginnt mit einem Et-Zeichen (&). Das führende Et-Zeichen (&) ist für Substitutionsvariablen reserviert. Wenn ein Elementname mit & beginnt, setzen Sie den Namen in Anführungszeichen.
Hinweis:
Setzen Sie Substitutionsvariablen nicht in Anführungszeichen in ein Berechnungsskript.
-
Enthält einen Punkt (.).
Beispiel: 1999. Jan oder .100
-
-
Wenn Sie eine IF-Anweisung oder eine voneinander abhängige Formel verwenden, schließen Sie die Formel in Klammern ein, um sie mit dem angegebenen Element zu verknüpfen.
Beispiel: Die folgende Formel ist dem Mitglied der Kommission im Datenbank-Outline zugeordnet:
Commission (IF(Sales < 100) Commission = 0; ENDIF;) -
Beenden Sie jede IF-Anweisung in einer Formel mit einer ENDIF-Anweisung.
Beispiel: Die vorherige Formel enthält eine einfache IF...ENDIF-Anweisung.
-
Wenn Sie eine IF-Anweisung verwenden, die in einer anderen IF-Anweisung verschachtelt ist, beenden Sie jede IF mit einer ENDIF-Anweisung.
Beispiel:
"Opening Inventory" (IF (@ISMBR(Budget)) IF (@ISMBR(Jan)) "Opening Inventory" = Jan; ELSE "Opening Inventory" = @PRIOR("Ending Inventory"); ENDIF; ENDIF;) -
Sie müssen ELSE- oder ELSEIF-Anweisungen nicht mit ENDIF-Anweisungen beenden.
Beispiel:
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;)Hinweis:
Wenn Sie ELSE IF (mit einem Leerzeichen) anstelle von ELSEIF (ein Wort) in einer Formel verwenden, müssen Sie eine ENDIF-Anweisung für die IF-Anweisung angeben.
-
Beenden Sie jede FIX-Anweisung mit einer ENDFIX-Anweisung.
Beispiel:
FIX(Budget,@DESCENDANTS(East)) CALC DIM(Year, Measures, Product); ENDFIX -
Beenden Sie jede EXCLUDE-Anweisung mit einer ENDEXCLUDE-Anweisung.
Wenn Sie ein Berechnungsskript mit der Essbase-Weboberfläche schreiben, können Sie es mit der Syntaxprüfung validieren.
Kommentare in Kalkulationsskripten verwenden
Sie können Kommentare hinzufügen, um Berechnungsskripte mit Anmerkungen zu versehen. Kommentare werden ignoriert, wenn das Berechnungsskript ausgeführt wird.
Um einen Kommentar aufzunehmen, beginnen Sie den Kommentar mit /* und beenden den Kommentar mit */. Beispiel:
/* This calculation script comment
spans two lines. */Syntax prüfen
Der Berechnungsskript-Editor in der Essbase-Weboberfläche enthält eine Syntaxvalidierung, mit der Syntaxfehler (wie ein falsch eingegebener Funktionsname) in einem Berechnungsskript gekennzeichnet werden.
Wenn keine Syntaxfehler gefunden werden, gibt Essbase an, dass die Syntaxprüfung erfolgreich war.
Wenn Syntaxfehler gefunden werden, gibt Essbase an, dass die Syntaxprüfung nicht erfolgreich war, und zeigt jeweils einen Fehler an, der angibt, wo der Fehler aufgetreten ist.
Hinweis:
Die Syntaxprüfung kann keine semantischen Fehler ermitteln, die auftreten, wenn ein Berechnungsskript nicht wie erwartet funktioniert. Um semantische Fehler zu finden, führen Sie die Berechnung aus, und prüfen Sie die Ergebnisse, um sicherzustellen, dass sie den Erwartungen entsprechen.