You use the Edit Function dialog box to edit the properties of custom-defined functions that are registered with Essbase at the global (server) level or the local (application) level.
Note: | Custom-defined functions require Java Runtime Environment, which is installed as an option with Essbase. |
Essbase Server—The name of the current Essbase Server instance
Note: | To edit a function on a different Essbase Server instance, in Enterprise View, under the preferred server, double-click the Functions node. |
Scope—For local functions, the application name with which the function is associated; for global functions, <all apps>
Name—Name of the function, which does not reflect the double-naming convention used in MaxL; for example, @JSUM
Statement—The MaxL specification for the function
Information that can be edited in the Edit Function dialog box:
Class—Full Java class name used to develop the function
For example, the following compiled Java class might be archived in a .jar file: com.hyperion.essbase.calculator.Statistics 1, where Statistics.java was compiled into Statistics.class and the class was archived ascom/hyperion/essbase.calculator/Statistics.class.
Method—Java class method associated with current function (For example, the covariance element of com.hyperion.essbase.calculator.Statistics.covariance identifies a method.)
Spec— Essbase calculator-syntax specification string (optional); for example, @COVARIANCE (expList1, expList2)
To use the output string of the EssListCalcFunctions API function to return the current function, you must use a specification string. If you do not use a specification string, you cannot enter a comment.
Comment—Optional, and possible only if a specification string is used
You can select the Runtime option and, thereby, designate the current function as a runtime function. However, you should select Runtime only in special circumstances, as the Runtime property can seriously affect performance, as indicated by the following examples:
A runtime function whose return value depends on the current date or on the values of a rapidly changing relational table may negatively impact performance.
Runtime functions that include no operands or use constant values as operands cannot be pre-executed; therefore, the optimization value of pre-execution is lost.
When the built-in Essbase @CALCMODE(CELL) function is used, a runtime function may execute on every cell in the range.
A runtime function, such as Mem1 = @RANDOM(), that returns a random number each time that it executes may return different values for different blocks.
create function (MaxL) in the Oracle Essbase Technical Reference