PowerQuery中,对两列或者多列的计算一般通过添加自定义列来实现,以下表为例,


by总计列 mysql order mysql 计算列_List


如果需要1月和2月数据的合计,可以添加自定义列,

by总计列 mysql order mysql 计算列_多列_02


其实还有一种更方便的方式,不用动手输入任何字符,点点鼠标就可以完成,这个功能就在这里:

by总计列 mysql order mysql 计算列_多列_03


以上面两列相加为例,选中1月和2月这两列,然后点击标准>添加,就自动增加了一个新列,


by总计列 mysql order mysql 计算列_by总计列 mysql order_04


选中两列时,除了加法,还可以进行乘、除、减、百分比、取模等各种运算,大家可以根据需要自行操作。

而选中两列以上时,比如选中三列,只有加法和乘法两种运算,大家想想是为什么?

by总计列 mysql order mysql 计算列_运算符_05


这种操作对于多列的计算是不是特别方便呢。

另外,关于两列和两列以上的快捷运算,如果你仔细观察M代码和计算结果,还会发现其计算逻辑存在着重大差异

两列相加

by总计列 mysql order mysql 计算列_List_06


三列相加


by总计列 mysql order mysql 计算列_by总计列 mysql order_07


两列运算时使用的是运算符,这样当数据中含有null时,结果也是null;

而两列以上的数据运算时,使用的是List类函数,结果会无视null的存在。

如果只选择一列,使用标准的运算功能是个什么情况呢?

比如选中1月这一列,选择“添加”,会弹出一个窗口,在数据框中输入一个数值后,生成的新列,就是这个数值和原列相加的结果,


by总计列 mysql order mysql 计算列_运算符_08


比如输入100,结果如下,


by总计列 mysql order mysql 计算列_多列_09


这种操作方法相当于Excel中的选择性粘贴>数值>加,同时在多个单元格增加相同的数值。

并且这种运算逻辑和两列时一致,使用的是运算符,所以当原列中有null时,结果也是null。

总结

利用功能区的"标准"运算功能,可以实现快速列计算,以加法为例:

选中一列时,以运算符的形式为该列加上同一个数;

选中两列时,以运算符的形式两列相加;

选中两列以上时,以List.Sum函数的逻辑多列相加。

如果不明白运算符和List.Sum在运算结果上有何差异,建议再读一遍上篇文章,选择符合你需要的计算方式:

PowerQuery:空值(null)运算的的解决思路。