美文网首页PowerQuery
在powerquery中如何对相邻两行进行计算?

在powerquery中如何对相邻两行进行计算?

作者: PowerQuery | 来源:发表于2019-10-15 16:48 被阅读0次

    今天遇到一个求相邻两行差值的需求,如下图所示:


    需求

    要对相邻两个日期对应的数值求差值。
    这个需求在银行流水、证券市场等应用场景应该会经常遇到。
    解决办法也比较简单,记录如下。

    首先增加索引列

    因为要对相邻行进行计算的前提是能够获取到相邻行的值,这就需要索引列的帮助。


    添加索引列

    然后新增一列来获取相邻两行的差值

      = Table.AddColumn(已添加索引, "相邻行差值",  each if [索引]>0 then (已添加索引[数值]{[索引]}-已添加索引[数值]{[索引]-1}) else [数值])
    

    用if来判断当前索引值是否大于0,等于0表示第一行,它前面没有别的行了,因此也就没法相减,于是返回当前表格【[数值]】列的当前行;索引大于0,则用表格【(已添加索引】的【[数值]】列的当前行【{[索引]}】减去表格【(已添加索引】的【[数值]】列的当前行的前一行【{[索引]-1})】值。

    最后得到的结果如图所示:


    处理结果

    举一反三

    示例中用了后一行减去前一行来演示,也可以用前一行减去后一行,或者求两行的和、积、商、平均值等等可以想到的其他数学运算,或者合并两行为一个单独的新行……

    相关文章

      网友评论

        本文标题:在powerquery中如何对相邻两行进行计算?

        本文链接:https://www.haomeiwen.com/subject/jmvsmctx.html