Sintaxis de Learn Basic Calculation Script

Al diseñar scripts de cálculo para cubos de almacenamiento de bloques de Essbase, hay algunas reglas de sintaxis que aprender. Los comandos generalmente terminan con un punto y coma. Las comillas se deben utilizar alrededor de determinados nombres de miembros. Essbase puede ayudarle a validar la sintaxis.

Reglas de sintaxis generales

Los cubos de almacenamiento de bloques de Essbase incluyen un conjunto flexible de comandos que puede utilizar para controlar cómo se calcula el cubo. Puede crear scripts de cálculo a partir de comandos y fórmulas.

Al crear un script de cálculo, debe aplicar las siguientes reglas:

  • Finalice cada comando de fórmula o script de cálculo con un punto y coma (;). Por ejemplo:

    Ejemplo 1

    CALC DIM(Product, Measures);

    Ejemplo 2

    DATACOPY Plan TO Revised_Plan;

    Ejemplo 3

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

    Por ejemplo 4

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

    No es necesario finalizar los siguientes condicionales o comandos de flujo de control con punto y coma:

    • IF
    • ENDIF
    • ELSE
    • ELSIF
    • FIX
    • FINALIZACIÓN
    • EXCLUDE
    • EXCLUIR
    • LOOP
    • BUCLE FINAL

    Note:

    Aunque no es necesario, Oracle recomienda finalizar cada sentencia ENDIF en una fórmula con un punto y coma.

  • Incluya un nombre de miembro entre comillas dobles (" "), si ese nombre de miembro coincide con alguna de las siguientes condiciones:

    • Contiene espacios.

      Por ejemplo, en la siguiente fórmula, Inventario inicial e Inventario final se incluyen entre comillas dobles:

      "Opening Inventory" = "Ending Inventory" - Sales + Additions;
    • Es lo mismo que un operador, un nombre de función o una palabra clave.

      Consulte Convenciones de nomenclatura en scripts de cálculo, scripts de informes, fórmulas, filtros, valores de variables de sustitución y de entorno.

    • Incluye cualquier carácter no alfanumérico, como un guión ( - ), un asterisco ( * ) o una barra ( / ).

    • Contiene solo números o empieza por un número.

      Por ejemplo: "100" o "10Prod"

    • Comienza con un ampersand (&). El ampersand (&) inicial está reservado para variables de sustitución. Si el nombre de un miembro empieza por &, escriba el nombre entre comillas.

      Note:

      No incluya variables de sustitución entre comillas en un script de cálculo.

    • Contiene un punto (.).

      Por ejemplo: 1999. Ene o .100

  • Si utiliza una sentencia IF o una fórmula interdependiente, incluya la fórmula entre paréntesis para asociarla al miembro especificado.

    Por ejemplo, la siguiente fórmula está asociada al miembro de la Comisión en el esquema de la base de datos:

    Commission
    (IF(Sales < 100)
       Commission = 0;
    ENDIF;)
  • Finalice cada sentencia IF en una fórmula con una sentencia ENDIF.

    Por ejemplo, la fórmula anterior contiene una sentencia IF...ENDIF simple.

  • Si utiliza una sentencia IF anidada en otra sentencia IF, finalice cada IF con una sentencia ENDIF.

    Por ejemplo:

    "Opening Inventory"
    (IF (@ISMBR(Budget))
       IF (@ISMBR(Jan))
          "Opening Inventory" = Jan;
       ELSE 
          "Opening Inventory" = @PRIOR("Ending Inventory");
       ENDIF;
    ENDIF;)
  • No es necesario que termine las sentencias ELSE o ELSEIF con sentencias ENDIF.

    Por ejemplo:

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

    Note:

    Si utiliza ELSE IF (con un espacio) en lugar de ELSEIF (una palabra) en una fórmula, debe proporcionar un ENDIF para la sentencia IF.

  • Finalice cada sentencia FIX con una sentencia ENDFIX.

    Por ejemplo:

    FIX(Budget,@DESCENDANTS(East))
       CALC DIM(Year, Measures, Product);
    ENDFIX
  • Finalice cada sentencia EXCLUDE con una sentencia ENDEXCLUDE.

Al escribir un script de cálculo mediante la interfaz web de Essbase, puede utilizar el comprobador de sintaxis para validarlo.

Uso de comentarios en scripts de cálculo

Puede incluir comentarios para anotar scripts de cálculo. Los comentarios se ignoran cuando se ejecuta el script de cálculo.

Para incluir un comentario, comience el comentario con /* y finalice el comentario con */. Por ejemplo:

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

Comprobación de la sintaxis

El editor de scripts de cálculo de la interfaz web de Essbase incluye la validación de sintaxis que marca errores de sintaxis (como un nombre de función mal escrito) en un script de cálculo.

Si no se encuentran errores de sintaxis, Essbase indica que la comprobación de sintaxis se ha realizado correctamente.

Si se encuentran errores de sintaxis, Essbase indica que la comprobación de sintaxis ha fallado y muestra un error a la vez, indicando dónde se ha producido el error.

Note:

El comprobador de sintaxis no puede determinar los errores semánticos, que se producen cuando un script de cálculo no funciona como se esperaba. Para encontrar errores semánticos, ejecute el cálculo y compruebe los resultados para asegurarse de que son como espera.