Essbase @MOVMIN

Applies a moving n-term minimum (lowest
number) to an input data set. Each term in the list is replaced by a trailing
minimum of n terms, and the first terms
(the n-1 terms) are copies of the input
data. @MOVMIN modifies a data set for smoothing purposes.


@MOVMIN (mbrName [, n [, XrangeList]])
Parameter Description
mbrName Any valid single member name or member combination, or a function that
returns a single member or member combination.
n Optional. A positive integer value that represents the number of values
that are used to calculate the moving minimum. 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.


  • While calculating the moving minimum, the @MOVMIN function
    skips #MISSING values. For example, if one value out of four
    is #MISSING, @MOVMIN calculates the minimum of the remaining
    three values.
  • The @MOVMIN function calculates a trailing, rather than a
    centered, minimum. For example:

    Trailing Minimum       Centered Minimum
        1   2   3              1   2   3
                1                  1
  • If you use a 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 Oracle Essbase Technical Reference topic for the member set function you are using.
  • When you use @MOVMIN in a calculation script, use it within
    a FIX statement. Although FIX is not required, using it may improve calculation
  • When you use @MOVMIN across a large range in a sparse dimension,
    you may need to increase the size of the calculator cache. For more information
    on the calculator cache, see the Oracle Essbase Database Administrator’s Guide.


The following example is based on the Sample Basic database. Assume
that the Measures dimension contains an additional member, Mov Min.

"Mov Min" = @MOVMIN(Sales,3,Jan:Jun);

In this example, the @MOVMIN function smooths sales data for the first
six months of the year (Jan through Jun). The results of @MOVMIN can be used
with the @TREND function to forecast minimum sales data for the holiday season
(for example, October – December).

This example produces the following report:

            Colas     New York    Actual
                Sales       Mov Min
                =====       =======
Jan              678          678
Feb              645          645
Mar              675          645
Apr              712          645
May              756          675
Jun              890          712

In this example, Essbase uses three values at
a time to calculate the moving minimum. The first two values (Jan,Feb) for
Mov Min and the first two values for Sales are the same. The value for Mar
represents the trailing minimum of Jan, Feb, and Mar. The value for Apr represents
the trailing mimimum of Feb, Mar, and Apr. The remaining values represent
the trailing minimum for each group of three values.

See Also

  • @TREND