Forum Discussion
Rolling accumulation
I like the gen version as i can understand it, I get the accer,, but m_d , you really must be good
at visualisig things as I have taken it apart and see how it works, but would never have been able to
build it.
Hi Dicken,
Once you know this trick it is easier to understand 😉 let me try to explain the inner workings.
The seed s is a record containing two fields, a and b, both assigned an empty list.
At each iteration:
-
Think of the field
aas a rolling window that holds up to the last four values that were seen. It’s updated by appending the current value{v}fromalistto the previous list states[a], then trimmed to keep only the most recent four itemsList.LastN(..., 4) -
Once
ais updated, we calculate its total using{List.Sum(a)}. That number gets added (apended) to the previous list states[b], which is a growing list of those running totals.
After the accumulation completes, the field [b] contains the full sequence. A list showing what the sum of the last four values was after every step.
I hope this helps to visualize the process, Richard.