March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
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
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
User | Count |
---|---|
20 | |
13 | |
10 | |
9 | |
7 |
User | Count |
---|---|
39 | |
27 | |
16 | |
15 | |
10 |