Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers!
Enter the sweepstakes now!See when key Fabric features will launch and what’s already live, all in one place and always up to date. Explore the new Fabric roadmap
hi all.
i have a question about some product table
there are
[Prodcode], [porductNM] , [Date], [salesamount], [salesprice]
that i want is addcolumns which one value is cumulative value with [salesamount] and [salesprice]
with date
if change next year -> reset cumulative
for example
Solved! Go to Solution.
hi, @theopa
sort = Table.Sort(your_table, {"porductNM", "Date"}),
f = (t as table) as table =>
[rec = List.Buffer(Table.ToRecords(t)),
gen = List.Generate(
() => [i = 0, r = rec{0}, rt = [Csalesamount = r[salesamount], Csalesprice = r[salesprice]]],
(x) => rec{x[i]}? <> null,
(x) =>
[i = x[i] + 1, r = rec{i},
rt =
[Csalesamount = x[rt][Csalesamount] + r[salesamount],
Csalesprice = x[rt][Csalesprice] + r[salesprice]]
],
(x) => x[r] & x[rt]
),
z = Table.FromRecords(gen)][z],
g = Table.Group(
sort, {"porductNM", "Date"},
{{"rows", each f(Table.Sort(_, "Date"))}},
GroupKind.Local,
(s, c) => Byte.From(Date.Year(s[Date]) <> Date.Year(c[Date]) or (s[porductNM] <> c[porductNM]))),
expand = Table.ExpandTableColumn(g, "rows", {"salesamount", "salesprice", "Csalesamount", "Csalesprice"})
hi, @theopa
sort = Table.Sort(your_table, {"porductNM", "Date"}),
f = (t as table) as table =>
[rec = List.Buffer(Table.ToRecords(t)),
gen = List.Generate(
() => [i = 0, r = rec{0}, rt = [Csalesamount = r[salesamount], Csalesprice = r[salesprice]]],
(x) => rec{x[i]}? <> null,
(x) =>
[i = x[i] + 1, r = rec{i},
rt =
[Csalesamount = x[rt][Csalesamount] + r[salesamount],
Csalesprice = x[rt][Csalesprice] + r[salesprice]]
],
(x) => x[r] & x[rt]
),
z = Table.FromRecords(gen)][z],
g = Table.Group(
sort, {"porductNM", "Date"},
{{"rows", each f(Table.Sort(_, "Date"))}},
GroupKind.Local,
(s, c) => Byte.From(Date.Year(s[Date]) <> Date.Year(c[Date]) or (s[porductNM] <> c[porductNM]))),
expand = Table.ExpandTableColumn(g, "rows", {"salesamount", "salesprice", "Csalesamount", "Csalesprice"})
thank you a lot
it's very good solution