PREVIOUS function

Prev Next

Description

Returns the value of the previous cell of the current Metric in the iteration Dimension.

This function allows you to create single Metric iterative calculations.

For more information on how to create iterative calculations, see Iterative Calculations Within a Block Using PREVIOUS.

To fill blanks across a Metric without iteration, see also FILLFORWARD function.

Related function: FILLFORWARD

Syntax

PREVIOUS(Iteration Dimension [, Offset])

Arguments

Argument

Type

Dimensions

Descriptions

Iteration Dimension
(required)

Number

Any Dimension included in the Metric structure

Dimension of the current Metric to which you want to apply an offset.

Offset
(optional)

Integer or Metric

No Dimension or same as the Metric

Number of cells to offset.

If you leave this argument blank, a default value of 1 is used.

Negative offsets are ignored and considered blank.

If you offset by calling a Metric, blank cells in the Metric result in PREVIOUS not being applied.

Note that Metrics for offsetting can have the same or fewer Dimensions as the current Metric.

Returns

Type

Dimensions

Same as the current Metric

Same as the current Metric

Examples

Formula

Description

PREVIOUS(Month)

Returns the value of the previous month value of the current Metric.

PREVIOUS(Month,2)

Returns the value of the current Metric cell, from two months previous.

⚠️ Important

Sparse datasets allow for much faster computation. The PREVIOUS function can densify your model, as it adds values in its Metrics, reducing performance.

Integer offsets in PREVIOUS tend to result in faster computation speeds than offsets through a Metric.

Limitations

To avoid cell-level circular dependencies and optimize computation time, Pigment restricts the use of the PREVIOUS function in the following ways:

  1. Iterating Dimension used with PREVIOUS has a maximum of 10,000 Items

    You can use PREVIOUS() with any Dimension, but it can’t have more than 10,000 Items.

  2. Combining Multiple Dimensions to Offset

    It is not possible to combine multiple PREVIOUS() functions using different Dimensions to offset in a given formula. For example, you can’t use this formula:
    PREVIOUS(Month) + PREVIOUS(Product)


    However you could achieve similar results with an expression such as:
    PREVIOUS(Month)[SELECT: Product -1]

  3. Advanced Function Compatibility
    Use of PREVIOUS with the following is not possible:

    • IRR / XIRR/ NPV

    • DOUBLE_EXPONENTIAL_SMOOTHING / SIMPLE_EXPONENTIAL_SMOOTHING

    • FORECAST_LINEAR, FORECAST_ETS, SEASONAL_LINEAR_REGRESSION

    • DAYSINPERIOD, PRORATA, DAYSINPERIODWITHHOLIDAYS, PRORATAWITHHOLIDAYS

For more context around limitations of using PREVIOUS(), see Iterative Calculations Within a Block Using PREVIOUS.

See Also

Excel: no equivalent