let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
Set_types = Table.TransformColumnTypes(Source,{{"Name", type text}, {"v1", Int64.Type}, {"v2", Int64.Type}}),
Values = List.Buffer(Set_types[v2]),
Running_totals = List.Generate(
() => [Running = Values{0}, Count = 0],
each [Count] < List.Count(Values),
each [Running = [Running]+ Values{[Count] + 1}, Count = [Count] +1 ],
each [Running]),
Combine_Values_Running_tot = Table.FromColumns(Table.ToColumns(Set_types) & {Running_totals}, Table.ColumnNames(Set_types) & {"Running"}),
Add_conditional_sum = Table.AddColumn(Combine_Values_Running_tot, "Running Total", each if [v1]>0 then [v2] else [Running], type number),
REmove_temp_running_tot = Table.RemoveColumns(Add_conditional_sum,{"Running"})
in
REmove_temp_running_tot
Thanks a lot @GraH - Guido,Code:let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], Set_types = Table.TransformColumnTypes(Source,{{"Name", type text}, {"v1", Int64.Type}, {"v2", Int64.Type}}), Values = List.Buffer(Set_types[v2]), Running_totals = List.Generate( () => [Running = Values{0}, Count = 0], each [Count] < List.Count(Values), each [Running = [Running]+ Values{[Count] + 1}, Count = [Count] +1 ], each [Running]), Combine_Values_Running_tot = Table.FromColumns(Table.ToColumns(Set_types) & {Running_totals}, Table.ColumnNames(Set_types) & {"Running"}), Add_conditional_sum = Table.AddColumn(Combine_Values_Running_tot, "Running Total", each if [v1]>0 then [v2] else [Running], type number), REmove_temp_running_tot = Table.RemoveColumns(Add_conditional_sum,{"Running"}) in REmove_temp_running_tot
I see now where I was wrong. I do not have time today to revisit though.