--- title: "2dcumul" slug: "2dcumul" updated: 2023-03-21T12:15:14Z published: 2023-03-21T12:15:14Z canonical: "docs.datajet.app/2dcumul" --- > ## 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. # 2dcumul 2dcumul ### Successively adds the current row to the previous row, and restarts the count each time dimension 1 changes Requires 2 dimensions in order to accumulate (2d) Successively adds current row to the previous row’s accumulation. (cumul) Restarts the accumulation each time dimension 1 changes e.g. Dimension1 = Product { [Product1], [Product2]…} Dimension2 = Quarter { [Q1], [Q2], [Q3]…} Measure = [Sum of Sales] ![](https://cdn.document360.io/73b6469b-c1e4-47e9-aa65-986c8ebd17ca/Images/Documentation/image-1679400544189.png) ![](blob:https://datajetsoftware.atlassian.net/37eea3eb-fe19-4d17-a510-da9db909a830#media-blob-url=true&id=8fa2778b-d96a-41ba-82f2-550f24955f57&collection=contentId-492306435&contextId=492306435&height=201&width=696&alt=) ## Purpose Use this function to: - Calculate running totals year by year ### Sample Result ![](https://cdn.document360.io/73b6469b-c1e4-47e9-aa65-986c8ebd17ca/Images/Documentation/image-1679400686457.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 | 2dcumul | | 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 Cumulative data is always dependant on row sort order. 2dcumul is also dependent on the order in which dimensions are specified. ### Example NOTE: Measure 1 is included purely for illustration. It is not necessary to include this measure for the calculation to work. Example use: Calculating the running sales total, grouped by quarter and product #### Dimension:[transactions].[yearqtr], [transactions].[2dcumul] | #### Measure 1 - Name: = Sum Sales - Measure: = transactions.castprice - Function: =Sum - Post: = - Value: = - Axis: =0 - Plot:=Y - Resolve:= - Series Type:=Default - Popup:=Default - Prefix:= | #### Measure 2 - Name: =2dcumul - Measure: = transactions.castprice - Function: = sum - Post: = 2dcumul - Value: = - Axis: =0 - Plot:=Y - Resolve:= - Series Type:=Default - Popup:=Default - Prefix:= | | --- | --- | #### ![](https://cdn.document360.io/73b6469b-c1e4-47e9-aa65-986c8ebd17ca/Images/Documentation/image-1679400806139.png) ![](https://cdn.document360.io/73b6469b-c1e4-47e9-aa65-986c8ebd17ca/Images/Documentation/image-1679400813789.png) ####