Forum Discussion
MirageZX
3 years agoFrequent Visitor
Power Query Running_On_hand
Hi, I am new in Power Query and I have been struggling to find out how to create a Column name "Running_On_hand". The source data are two tables: Material Res_Date Reservation_Number Req_Q...
- 3 years ago
Hello, MirageZX
let t1 = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], t2 = Excel.CurrentWorkbook(){[Name="Table2"]}[Content], lookup_t = Record.FromList(t2[On_Hand_Qty], List.Transform(t2[Material], Text.From)), f = (t as table) => [opening_balance = Record.Field(lookup_t, Text.From(t[Material]{0})), pos = List.Buffer(List.Skip(List.Positions(t[Material]))), res = List.Buffer(t[Req_Qty]), balances = List.Accumulate( pos, {opening_balance - res{0}}, (s, c) => s & { s{c - 1} - res{c} } ), out = Table.FromColumns(Table.ToColumns(t) & {balances}, Table.ColumnNames(t) & {"Running_Stock"})][out], gr = Table.Group(t1, {"Material"}, {{"all", each f(Table.Sort(_, "Res_Date"))}}), z = Table.Combine(gr[all]) in z