Sintassi script calcolo di base apprendimento

Quando si progettano script di calcolo per cubi di memorizzazione a blocchi Essbase, sono disponibili alcune regole di sintassi da imparare. I comandi sono generalmente terminati con un punto e virgola. I segni di citazione devono essere utilizzati intorno a determinati nomi di membri. Essbase consente di convalidare la sintassi.

Regole di sintassi globali

I cubi di memorizzazione a blocchi di Essbase includono un set flessibile di comandi che è possibile utilizzare per controllare la modalità di calcolo del cubo. È possibile creare script di calcolo da comandi e formule.

Quando si crea uno script di calcolo, è necessario applicare le regole riportate di seguito.

  • Terminare ogni comando di script di calcolo o formula con un punto e virgola (;). Ad esempio:

    Esempio 1

    CALC DIM(Product, Measures);

    Esempio 2

    DATACOPY Plan TO Revised_Plan;

    Esempio 3

    "Market Share" = Sales % Sales -> Market;

    Esempio 4

    IF (Sales <> #MISSING)
       Commission = Sales * .9;
       ELSE
          Commission = #MISSING;
    ENDIF;

    Non è necessario terminare i seguenti comandi condizionali o flusso di controllo con punti e virgola:

    • IF
    • ENDIF
    • ELSE
    • ELSIF
    • FIX
    • PREFISSO
    • EXCLUDE
    • ENDEXCLUDE
    • LOOP
    • ENDLOOP

    Nota

    Sebbene non sia necessario, Oracle consiglia di terminare ogni istruzione ENDIF in una formula con punto e virgola.

  • Racchiudere il nome di un membro tra virgolette doppie (" "), se tale nome corrisponde a una delle seguenti condizioni:

    • Contiene spazi.

      Ad esempio, nella formula seguente, Apertura magazzino e Magazzino finale sono racchiusi tra virgolette doppie:

      "Opening Inventory" = "Ending Inventory" - Sales + Additions;
    • Uguale a operatore, nome funzione o parola chiave.

      Vedere Convenzioni di denominazione in script di calcolo, script di report, formule, filtri, sostituzioni e valori di variabili di ambiente.

    • Include qualsiasi carattere non alfanumerico, ad esempio un trattino ( - ), un asterisco ( * ) o una barra ( / ).

    • Contiene solo numeri o inizia con un numero.

      Ad esempio: "100" o "10Prod"

    • Inizia con una e commerciale (&). La e commerciale iniziale (&) è riservata alle variabili di sostituzione. Se il nome di un membro inizia con &, racchiuderlo tra virgolette.

      Nota

      Non racchiudere le variabili di sostituzione tra apici in uno script di calcolo.

    • Contiene un punto (.).

      Ad esempio: 1999. Gen o .100

  • Se si utilizza un'istruzione IF o una formula interdipendente, racchiudere la formula tra parentesi per associarla al membro specificato.

    Ad esempio, la seguente formula è associata al membro della Commissione nel profilo del database:

    Commission
    (IF(Sales < 100)
       Commission = 0;
    ENDIF;)
  • Terminare ogni istruzione IF in una formula con un'istruzione ENDIF.

    Ad esempio, la formula precedente contiene una semplice istruzione IF...ENDIF.

  • Se si utilizza un'istruzione IF nidificata all'interno di un'altra istruzione IF, terminare ogni IF con un'istruzione 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 le istruzioni ENDIF.

    Ad esempio:

    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;)

    Nota

    Se si utilizza ELSE IF (con uno spazio) anziché ELSEIF (una parola) in una formula, è necessario fornire un ENDIF per l'istruzione IF.

  • Terminare ogni istruzione FIX con un'istruzione ENDFIX.

    Ad esempio:

    FIX(Budget,@DESCENDANTS(East))
       CALC DIM(Year, Measures, Product);
    ENDFIX
  • Terminare ogni istruzione EXCLUDE con un'istruzione ENDEXCLUDE.

Quando si scrive uno script di calcolo utilizzando l'interfaccia Web di Essbase, è possibile utilizzare lo strumento di controllo della sintassi per convalidarlo.

Usa commenti in script di calcolo

È possibile includere commenti per annotare gli script di calcolo. I commenti vengono ignorati quando viene eseguito lo script di calcolo.

Per inserire un commento, inizia il commento con /* e termina il commento con */. Ad esempio:

/* This calculation script comment
   spans two lines. */

Controllo della sintassi

L'editor di script di calcolo nell'interfaccia Web Essbase include la convalida della sintassi che contrassegna gli errori di sintassi (ad esempio un nome di funzione non digitato correttamente) in uno script di calcolo.

Se non vengono trovati errori di sintassi, Essbase indica che il controllo della sintassi è riuscito.

Se vengono rilevati errori di sintassi, Essbase indica che il controllo della sintassi non è riuscito e visualizza un errore alla volta, indicando dove si è verificato l'errore.

Nota

Lo strumento di controllo della sintassi non è in grado di determinare gli errori semantici, che si verificano quando uno script di calcolo non funziona come previsto. Per trovare gli errori semantici, eseguire il calcolo e controllare i risultati per assicurarsi che siano come previsto.