Power Query如何进行累计计算

在Excel中我们在做一列数据的累计时会这样写公式:

Power Query如何进行累计计算

=SUM(A$1:A1)

固定首行然后下拉实现上面数据的累计。

在Power Query中当然也有实现累计的方法,我们来学习两种方法:

List.Accumulate

List.Accumulate函数是能够实现累计计算的函数,这个函数有三个参数:

第一参数:列表

第二参数:起始值

第三参数:自定义函数

为了实现这种逐行累加的效果,我们要先取出逐行对应的列表,然后计算:

Power Query如何进行累计计算

= List.Transform({1..20},(x)=>List.Range(L,0,x))

我们用List.Range函数取出对应的数值列表,因为在实际运算中,不可能是例子中的等差数列,应该是很多不规则数据组成的列表,我们要根据行来返回对应的列表,然后再计算。

Power Query如何进行累计计算

= List.Transform({1..20},(z)=>List.Accumulate(List.Range(L,0,z),0,(x,y)=>x+y))

List.Range部分,就是上面说的不断增加元素的列表,从0开始计算,后面的函数部分很容易理解,对于列表中数据进行累计计算。

还有一种使用List.Accumulate实现累计的办法:

Power Query如何进行累计计算

= List.Accumulate(L,{},(x,y)=>x&{List.Sum({List.Last(x),y})})

x从一个空列表开始,逐渐增加元素,同时不断从L列表中取出y与x列表的最后的元素求和计算,并把结果添加到x列表中。这就是这个公式的运算过程。

List.Sum+List.Range

通过前面的例子,我们知道只要找到对应的列表,直接求和就能得到累计的结果:

Power Query如何进行累计计算

= List.Transform({1..20},(x)=>List.Sum(List.Range(L,0,x)))

这可能是最好理解的累计方法了,对List.Range产生列表进行求和计算,就得到对应行的累计结果。

展开阅读全文

页面更新:2024-03-17

标签:等差数列   不规则   时会   数值   公式   函数   例子   元素   参数   效果   过程   办法   方法   数据   列表   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top