--- title: "cumul" slug: "cumul" updated: 2023-03-20T12:56:31Z published: 2023-03-20T12:56:31Z canonical: "docs.datajet.app/cumul" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.datajet.app/llms.txt > Use this file to discover all available pages before exploring further. # cumul Successively adds the current row to the previous row ### Purpose Use this function to: - Sum information gathered over time - Show how sales have increased since the beginning of the year - Calculate “how much so far” ### Calculation ```actionscript cumul(RowX)= rowX + cumul(X-1) RowX = value for current row cumul(X-1) = row(X-1) + cumul(X-2) ``` ### Sample Result ![](https://cdn.document360.io/73b6469b-c1e4-47e9-aa65-986c8ebd17ca/Images/Documentation/image-1679316454869.png) ### Parameters | Parameter | Description | | --- | --- | | Dimensions | Discrete field(s). All fields must come from the same table. | | Name | Name to be displayed as Column Header in result grid | | Measure | The field to be used in the post-function calculation. - Must be numeric if Function is anything other than COUNT. - Must come from same table as DIMENSIONS. - Supports Discrete or Continuous DataTypes. | | Function | COUNT / SUM / AVG / MIN / MAX / STDEV | | Post | cumul | | Value | Optional. Filter to apply when evaluating FUNCTION. Only records in the Filter Recordset will be included in the Function and Post-Function calculations. Must come from same table as DIMENSION/MEASURE or be linked to the Dimension table. | | Axis | 0 / 1. Y-Axis to use when plotting graph. Default = 0 | | Plot | Y / N. Specifies whether measure’s output column should be plotted on graph. Default = Y | | Resolve | Optional. Resolve level for the measure. If blank, Resolve = Dimension Table | | Series Type | Default / Bar / Stacked Bar / Line / Spline / RangeLow / RangeHigh / CSLow / CSHigh / CSOpen / CSClose Determines the graph style for the measure. | | Popup | Default / None / Extended | | Prefix | $ / £ / E / % | ### Usage Notes Cumul is affected by the order in which rows are returned from the engine. Look at Ascending / Descending, Label / Value to control the way in which data is accumulated. ### Example NOTE: Measure 1 is included purely for illustration. It is not necessary to include this measure for the calculation to work. Dimension (s): [transactions].[product_group], [transactions].[yearmonth] #### Measure 1 Name: =Sales - Measure:  = transactions.castprice - Function: = sum - Post: = - Value: = - Axis: =0 - Plot:=Y - Resolve:= - Series Type:= Bar - Popup:=Default - Prefix:= #### Measure 2 - Name: =Sales To Date - Measure:  = transactions.castprice - Function: = sum - Post: = cumul - Value: = - Axis: =0 - Plot:=Y - Resolve:= - Series Type:= Line - Popup:=Default - Prefix:= Example use: Calculate sales to date Running Total of sales. Adds each month’s sales figure to the sum of all the months before it. ![](https://cdn.document360.io/73b6469b-c1e4-47e9-aa65-986c8ebd17ca/Images/Documentation/image-1679316877974.png) ![](https://cdn.document360.io/73b6469b-c1e4-47e9-aa65-986c8ebd17ca/Images/Documentation/image-1679316889498.png)