PowerQuery:这个技巧帮你快速计算列
PowerQuery中,对两列或者多列的计算一般通过添加自定义列来实现,以下表为例,
如果需要1月和2月数据的合计,可以添加自定义列,
其实还有一种更方便的方式,不用动手输入任何字符,点点鼠标就可以完成,这个功能就在这里:
以上面两列相加为例,选中1月和2月这两列,然后点击标准>添加,就自动增加了一个新列,
选中两列时,除了加法,还可以进行乘、除、减、百分比、取模等各种运算,大家可以根据需要自行操作。
而选中两列以上时,比如选中三列,只有加法和乘法两种运算,大家想想是为什么?
这种操作对于多列的计算是不是特别方便呢。
另外,关于两列和两列以上的快捷运算,如果你仔细观察M代码和计算结果,还会发现其计算逻辑存在着重大差异:
两列相加
三列相加
两列运算时使用的是运算符,这样当数据中含有null时,结果也是null;
而两列以上的数据运算时,使用的是List类函数,结果会无视null的存在。
这两种方式与上一篇文章中处理null的思路(PowerQuery:空值(null)运算的的解决思路),如出一辙。
如果只选择一列,使用标准的运算功能是个什么情况呢?
比如选中1月这一列,选择“添加”,会弹出一个窗口,在数据框中输入一个数值后,生成的新列,就是这个数值和原列相加的结果,
比如输入100,结果如下,
这种操作方法相当于Excel中的选择性粘贴>数值>加,同时在多个单元格增加相同的数值。
并且这种运算逻辑和两列时一致,使用的是运算符,所以当原列中有null时,结果也是null。
总结
利用功能区的"标准"运算功能,可以实现快速列计算,以加法为例:
选中一列时,以运算符的形式为该列加上同一个数;
选中两列时,以运算符的形式两列相加;
选中两列以上时,以List.Sum函数的逻辑多列相加。
如果不明白运算符和List.Sum在运算结果上有何差异,建议再读一遍上篇文章,选择符合你需要的计算方式: