Sintaxis de fórmulas de Essbase
Las fórmulas se desarrollan en cubos de almacenamiento de bloques mediante la sintaxis de cálculo de Essbase, incluidos los nombres de miembros, las ecuaciones, los valores, los operadores, los terminadores de sentencias y las comillas.
Al crear fórmulas de miembro, siga estas reglas:
-
Finalice cada sentencia de la fórmula con un punto y coma (;). Por ejemplo:
Margin % Sales; -
Utilice solo nombres de miembros de esquema guardados. Si se utiliza una variable de sustitución para un nombre de miembro, el valor de la variable de sustitución debe ser un nombre de miembro de esquema guardado.
-
Incluya un nombre de miembro entre comillas dobles (
"") si el nombre de miembro cumple alguna de las siguientes condiciones:-
Contiene espacios. Por ejemplo:
"Opening Inventory" = "Ending Inventory" - Sales + Additions; -
Es lo mismo que un operador, un nombre de función o una palabra clave.
-
Incluye cualquier carácter no alfanumérico. Por ejemplo, guiones (-), asteriscos (*) y barras diagonales (/).
-
Todo es numérico o empieza por uno o más números. Por ejemplo,
"100"o"10Prod"
Para obtener una lista completa de los nombres de miembros que se deben incluir entre comillas, consulte Naming Conventions in Calculation Scripts, Report Scripts, Formulas, Filters, and Substitution and Environment Variable Values.
-
-
Finalice cada sentencia IF en una fórmula con una sentencia ENDIF.
Por ejemplo, la siguiente fórmula contiene una sentencia IF...ENDIF simple. Puede aplicar esta fórmula al miembro de la Comisión en un esquema:
IF(Sales < 100) Commission = 0; ENDIF;Si utiliza una sentencia IF anidada en otra sentencia IF, finalice cada IF con un 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 ENDIF. Por ejemplo:
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.
-
No es necesario terminar las sentencias ENDIF con un punto y coma (;), pero es una buena práctica.
Al escribir fórmulas, puede comprobar la sintaxis mediante el comprobador de sintaxis del editor de fórmulas. Consulte Validation of Formula Syntax.
Consulte: