The DECUMULATE function calculates the difference between the values of the current and previous periods.

For example, you can use DECUMULATE to create a rolling comparison of the current month's performance relative to the previous month.

DECUMULATE(Value to subtract [, List])

ArgumentData typeDescription
Value to subtractNumberThe data to subtract the value of the previous period from the current period for.
List (Polaris-only)N/ASee Calculation engine functionality differences.

The DECUMULATE function returns a number.

In Polaris, you cannot use DECUMULATE in formulas of line items with a formula summary method. In the Classic Engine, you can.

In Polaris, you can use DECUMULATE over a hierarchy, by including an additional argument. In the Classic Engine, you cannot. If the additional argument is not included the function defaults to Time as the dimension.

The time range used for the Value to subtract argument must match the time range for the result line item.

In this example, the DECUMULATE function is used to calculate the change in profit each month. Note that there is no period before Jan 21, so DECUMULATE returns the value for Jan 21.


Jan 21Feb 21Mar 21Apr 21May 21Jun 21Jul 21Aug 21Sep 21Oct 21Nov 21Dec 21
Operating Profit$59,730$59,124$59, 993$59,494$58,817$59,833$58,945$58,654$56,592$59,603$58,727$59,567

Month on month change

DECUMULATE(Operating Profit)

59,730-605.5868.4-499-676.71,016-888.7-290.4-2,0623,011-875.4840.1