@MOVMAX
The @MOVMAX calculation function for Essbase applies a moving n-term maximum (highest number) to an input data set. @MOVMAX modifies a data set for smoothing purposes.
Each term in the set is replaced by a trailing maximum of n terms, and the first terms (the n-1 terms) are copies of the input data.
Syntax
@MOVMAX (mbrName [, n [, XrangeList]])
Parameters
- mbrName
-
Any valid single member name, or a function that returns a single member.
- n
-
Optional. A positive integer value that represents the number of values that are used to calculate the moving maximum. The default is 3.
- XrangeList
-
Optional. A valid member name, a comma-delimited list of member names, cross dimension members, or a member set function or range function (including @XRANGE) that returns a list of members from the same dimension. If XrangeList is not specified, Essbase uses the level 0 members from the dimension tagged as Time.
Notes
-
This function calculates a trailing, rather than a centered, maximum. For example:
Trailing Maximum Centered Maximum 1 2 3 1 2 3 3 3
-
While calculating the moving maximum, @MOVMAX skips
#MISSING
values. For example, if one value out of four is#MISSING
, @MOVMAX calculates the maximum of the remaining three values. -
If you use an Essbase member set function to generate a member list for the XrangeList parameter (for example, @SIBLINGS), to ensure correct results, consider the order in which Essbase sorts the generated member list. For more information, see the help topic for the member set function you are using.
-
When you use @MOVMAX in a calculation script, use it within a FIX statement. Although FIX is not required, using it may improve calculation performance.
-
When you use @MOVMAX across a large range in a sparse dimension, you may need to increase the size of the calculator cache.
Example
The following example is based on the Sample Basic database. Assume that the Measures dimension contains an additional member, Mov Max.
"Mov Max" = @MOVMAX(Sales,3,Jan:Jun);
In this example, the @MOVMAX function smoothes sales data for the first six months of the year (Jan through Jun). The results of @MOVMAX can be used with the @TREND function to forecast maximum sales data for a holiday season (for example, October - December).
This example produces the following report:
Root Beer New York Actual
Sales Mov Max
===== =======
Jan 551 551
Feb 641 641
Mar 586 641
Apr 630 641
May 612 630
Jun 747 747
In this example, Essbase uses three values at a time to calculate the moving maximum. The first two values (Jan,Feb) for Mov Max and the first two values for Sales are the same. The value for Mar represents the trailing maximum of Jan, Feb, and Mar. The value for Apr represents the trailing maximum of Feb, Mar, and Apr. The remaining values represent the trailing maximum for each group of three values.