Forum Discussion
Accumulated average
- 28 days ago
I want the cuumulative average, the example i gave shows a correct result.
Not sure what you want for a result.
What result would you like to see for your List.Numbers(1,12,1) list?
Your code gives the average where for each row n, the average of values alist{0..n}
Perhaps if you gave an example other than {1,1,1,1}??
- Dicken28 days agoPost Prodigy
I want the cuumulative average, the example i gave shows a correct result.
- Dicken28 days agoPost Prodigy
o as is said, but done within the fuunction, not select part of generate so;
- ronrsnfld27 days agoSuper User
Still not sure exactly what you want.
If you want a standalone function that will do the computation, then try:(alist as list)=> List.Generate( ()=>[a=alist{0}, idx=0], each [idx] < List.Count(alist), each [idx=[idx]+1, a = List.Sum(List.Range(alist,0, idx+1))/(idx+1)], each [a])You could use like:
let alist = List.Numbers(1,12,1), avg = fnRunningAvg(alist), tbl = Table.FromColumns({alist, avg}, type table[Numbers=Int64.Type, Running Avg = number]) in tbl- Dicken27 days agoPost Prodigy
Good idea, but it can be somplfied so no need for a record and use avverage instead of sum,
i have posted as a solution, I'm nto sure how effecient range is .
- Dicken27 days agoPost Prodigy
posssibel method adapted from post prodigy;
let alist = {1..12}, Custom1 = List.Generate( ()=> 1, each _ < List.Count( alist ) , each _ + 1, each List.Average( List.Range( alist, 0,_ )) ) in Custom1