月份  条件1 条件2 累计值 当月值
2017/1/1    A   甲   10  10
2017/2/1    A   甲   7   -3
2017/3/1    A   甲   43  36
2017/1/1    B   甲   5   5
2017/2/1    B   甲   23  18
2017/3/1    B   甲   44  21
2017/1/1    A   乙   9   9
2017/2/1    A   乙   22  13
2017/3/1    A   乙   41  19
2017/1/1    B   乙   8   8
2017/2/1    B   乙   23  15
2017/3/1    B   乙   47  24
累计值求当月值
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
    类型 = Table.Buffer(Table.TransformColumnTypes(源,{{"月份", type date}, {"条件1", type text}, {"条件2", type text}, {"累计值", Int64.Type}})),
    排序 = Table.Sort(类型,{{"条件1", Order.Ascending}, {"条件2", Order.Ascending}, {"月份", Order.Ascending}}),
    索引0 = Table.AddIndexColumn(排序, "索引_0", 0, 1),
    索引1 = Table.AddIndexColumn(排序, "索引_1", 1, 1),
    分组初始值 = Table.Group(排序, {"条件1", "条件2"}, {{"初始值", each List.FirstN([累计值],1){0},Int64.Type}}),
    合并初始值 = Table.NestedJoin(索引0, {"条件1", "条件2"}, 分组初始值, {"条件1", "条件2"}, "分组初始值", JoinKind.LeftOuter),
    展开初始值 = Table.ExpandTableColumn(合并初始值,"分组初始值",{"初始值"}),
    合并索引1 = Table.NestedJoin(展开初始值, {"索引_0"}, 索引1, {"索引_1"}, "索引_1", JoinKind.LeftOuter),
    展开索引1 = Table.ExpandTableColumn(合并索引1, "索引_1", {"累计值"}, {"累计值1"}),
    当前值 = Table.AddColumn(展开索引1, "计算当前值", each if [累计值]=[初始值] then [累计值] else [累计值]-[累计值1],Int64.Type),
    结果 = Table.SelectColumns(当前值,{"月份", "条件1", "条件2", "累计值", "计算当前值"})
in
    结果let
    源 = Excel.CurrentWorkbook(){[Name="表4"]}[Content],
    更改的类型 = Table.TransformColumnTypes(源,{{"年月", type date},{"本年同期累计", type number}}),
    分组的行 = Table.Group(更改的类型, {"年月", "公司", "险类3", "项目"}, {{"本年同期累计", each List.Sum([本年同期累计]), type number}}),
    排序 = Table.Sort(分组的行,{{"公司", Order.Ascending}, {"险类3", Order.Ascending}, {"项目", Order.Ascending}, {"年月", Order.Ascending}}),
    索引0 = Table.AddIndexColumn(排序, "索引_0", 0, 1),
    索引1 = Table.AddIndexColumn(排序, "索引_1", 1, 1),
    分组初始值 = Table.Group(排序, {"公司", "险类3","项目"}, {{"初始值", each List.FirstN([本年同期累计],1){0},Int64.Type}}),
    合并的查询 = Table.NestedJoin(索引0,{"公司", "险类3", "项目"},分组初始值,{"公司", "险类3", "项目"},"分组初始值",JoinKind.LeftOuter),
    展开初始值 = Table.ExpandTableColumn(合并的查询, "分组初始值", {"初始值"}, {"初始值"}),
    合并索引1 = Table.NestedJoin(展开初始值,{"索引_0"},索引1,{"索引_1"},"索引_1",JoinKind.LeftOuter),
    展开索引1 = try Table.ExpandTableColumn(合并索引1, "索引_1", {"本年同期累计"}, {"本年同期累计.1"}) otherwise null,
    排序的行 = Table.Sort(展开索引1,{{"公司", Order.Ascending}, {"险类3", Order.Ascending}, {"项目", Order.Ascending}, {"年月", Order.Ascending}}),
    已添加自定义 =  Table.AddColumn(排序的行, "计算当前值", each if [本年同期累计]=[初始值] then [本年同期累计] else [本年同期累计]-[本年同期累计.1],type number) 
in
    已添加自定义对于只有第一个月有数据,后面2个月没数据的,Table.AddColumn(排序的行, "计算当前值", each if [本年同期累计]=[初始值] then [本年同期累计] else [本年同期累计]-[本年同期累计.1],type number)  这一步要怎么改?
 
    
         
       
                         
                   
      
 
       
             
             
            