![7ff67e8446c458fa69f7d4b53a10c3a7.png](https://img-blog.csdnimg.cn/img_convert/7ff67e8446c458fa69f7d4b53a10c3a7.png)
![bc8ac181e506e19a588bb1b9bb72408c.png](https://img-blog.csdnimg.cn/img_convert/bc8ac181e506e19a588bb1b9bb72408c.png)
在使用PowerQuery处理数据的过程中,有时我们需要对行值进行求和计算。比如下图的数据表,除年份外其他每列是不同的费用类型,我们需要基于此表计算出不同年份的营运费用及总费用,如何实现呢?
![c52ad261d9ee04bda74a7f33774b9ee8.png](https://img-blog.csdnimg.cn/img_convert/c52ad261d9ee04bda74a7f33774b9ee8.png)
关于营运费用(市场费用、销售费用及营业费用)的计算实现,我们可以采用下列两种方法。第一种,点击创建自定义列,在公式栏输入List.Sum函数及三个计算列名即可,计算公式和结果如下图。
![65c3d864a3fe62ed1d911950071ebc66.png](https://img-blog.csdnimg.cn/img_convert/65c3d864a3fe62ed1d911950071ebc66.png)
![f7c66cd4d01393372a4ff174ce6a597a.png](https://img-blog.csdnimg.cn/img_convert/f7c66cd4d01393372a4ff174ce6a597a.png)
第二种,点击创建自定义列,在公式栏输入下图中的公式,我们会用到List.Sum、Record.ToList及Record.SelectFields等三个函数的嵌套。Record.SelectFields函数获取计算列的值,Record.ToList函数将值转化为list,后由List.Sum函数进行求和。
![f925e05a4aa49c06066f51ce0606a8fa.png](https://img-blog.csdnimg.cn/img_convert/f925e05a4aa49c06066f51ce0606a8fa.png)
![18056e3b8d3ed0ab3a52f9053b8386f7.png](https://img-blog.csdnimg.cn/img_convert/18056e3b8d3ed0ab3a52f9053b8386f7.png)
第一种方法简单直白,简单数据建议使用这种方法,但采用此法如若出现错误不易查找原因。第二种方法首先通过Record.ToList函数和Record.Selected函数创建新的list列(如下图),之后用List.Sum函数对list列进行求和计算,计算list列的过程可以检查list值是否准确,在数据比较复杂的情况下推荐使用这种方法。
![bea40e4308968dab8f5664ac81ea844c.png](https://img-blog.csdnimg.cn/img_convert/bea40e4308968dab8f5664ac81ea844c.png)
接下来需要计算总费用,首先我们可以采用前两者的方法,将列名一一输入到公式中便可以计算出来求和值。但时如果我们遇到比较多的列需要计算的话,上述方法会显得非常繁琐,而且比较容易出错。所以这里我们用到第三种方法,具体实现步骤可分为三个步骤。第一步:复制一张数据表,将新表中非计算列删除。
![65824aec62cd66220977deac6d4fd8d2.png](https://img-blog.csdnimg.cn/img_convert/65824aec62cd66220977deac6d4fd8d2.png)
![a948902f64faf7db5cf8dc215954e97c.png](https://img-blog.csdnimg.cn/img_convert/a948902f64faf7db5cf8dc215954e97c.png)
第二步,创建自定义列并输入下图中的公式。公式中Record.ToList函数括号内下划线代表所有列值,确认之后将自动计算所有行的求和值即总费用。
![d329dde21492d8d6a1891d9b8e3c9118.png](https://img-blog.csdnimg.cn/img_convert/d329dde21492d8d6a1891d9b8e3c9118.png)
![4a192b989efb09c330780c418b31bd30.png](https://img-blog.csdnimg.cn/img_convert/4a192b989efb09c330780c418b31bd30.png)
第三步,在原表中选择合并查询,将计算的总费用列合并到原表中。合并查询过程我们需要选择一个相同的列,并选择合适的联接种类,具体操作步骤如下图。
![5f4f1a63c469b42c10978b5b6aa324b1.png](https://img-blog.csdnimg.cn/img_convert/5f4f1a63c469b42c10978b5b6aa324b1.png)
![61c188b8b5d11910c4a4fde67c2c427b.png](https://img-blog.csdnimg.cn/img_convert/61c188b8b5d11910c4a4fde67c2c427b.png)
![4c2b498170868d1b1b1d58f41e6faf38.png](https://img-blog.csdnimg.cn/img_convert/4c2b498170868d1b1b1d58f41e6faf38.png)
最后,只需将查询列中的总费用列勾选展开即可添加到原表中,这样我们就轻松实现了部分费用列和全部费用列的求和计算。怎么样,你学会了吗?如需获取案例数据,请至公众号回复暗号【多行求和】下载即可。