Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test
let
Fonte = Excel.Workbook(File.Contents("C:\Users\alex\Desktop\\stock_acumulated.xlsx"), null, true),
stock_Table = Fonte{[Item="stock",Kind="Table"]}[Data],
#"start" = Table.TransformColumnTypes(stock_Table,{{"code", Int64.Type}, {"date", type date}, {"trans_id", Int64.Type}, {"Index", Int64.Type}, {"amount", Int64.Type}, {"day amount", Int64.Type}}),
ListOfIndex = List.Buffer(#"start"[Index]),
ListOfamount = List.Buffer(#"start"[amount]),
//Function Start
fxGetAccum=(ListOfIndex, ListOfamount)=>
let
FunctionResult = List.Generate(()=>[x=ListOfamount{0},i=0], each [i]<List.Count(ListOfIndex), each [i=[i]+1, x=(if ListOfIndex{i}=0 then 0 else [x]) + ListOfamount{i}], each [x])
in
FunctionResult,
//Function End
Result = Table.FromColumns(Table.ToColumns(#"start")&{fxGetAccum(ListOfIndex, ListOfamount)},Table.ColumnNames(#"start")&{"Accumulated"})
in
Result
great, where can'I learn this about ?
See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test
let
Fonte = Excel.Workbook(File.Contents("C:\Users\alex\Desktop\\stock_acumulated.xlsx"), null, true),
stock_Table = Fonte{[Item="stock",Kind="Table"]}[Data],
#"start" = Table.TransformColumnTypes(stock_Table,{{"code", Int64.Type}, {"date", type date}, {"trans_id", Int64.Type}, {"Index", Int64.Type}, {"amount", Int64.Type}, {"day amount", Int64.Type}}),
ListOfIndex = List.Buffer(#"start"[Index]),
ListOfamount = List.Buffer(#"start"[amount]),
//Function Start
fxGetAccum=(ListOfIndex, ListOfamount)=>
let
FunctionResult = List.Generate(()=>[x=ListOfamount{0},i=0], each [i]<List.Count(ListOfIndex), each [i=[i]+1, x=(if ListOfIndex{i}=0 then 0 else [x]) + ListOfamount{i}], each [x])
in
FunctionResult,
//Function End
Result = Table.FromColumns(Table.ToColumns(#"start")&{fxGetAccum(ListOfIndex, ListOfamount)},Table.ColumnNames(#"start")&{"Accumulated"})
in
Result