Running Total in Power Query M

Adds a running total column that accumulates a numeric column's values in row order.

Table TransformationsIntermediaterunning totalcumulativeindex

Power Query M code

let
    Source = YourTable,
    Indexed = Table.AddIndexColumn(Source, "Index", 0, 1, Int64.Type),
    AddedRunningTotal = Table.AddColumn(Indexed, "RunningTotal", each List.Sum(List.FirstN(Indexed[Amount], [Index] + 1)), type number)
in
    AddedRunningTotal

Notes

This re-sums everything up to each row (O(n^2) on large tables); for big datasets, calculate the running total as a DAX measure instead.

Requirements

How to use this snippet

  1. In Power BI Desktop, choose Transform data to open Power Query, then open the Advanced Editor on a query (or start from a blank query).
  2. Paste the snippet and replace the placeholder names (tables, columns, file paths) with your own. Check the requirements above first.
  3. Run it through the Power Query M Formatter to tidy the layout.

Related Power Query M snippets

More Power Query M resources

Browse all 145 snippets in the Power Query M Code Snippets, or search the library for something similar to Running Total.