PQ方法供参考
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
更改的类型 = Table.TransformColumnTypes(源,{{"账号", type text}}),
分组 = Table.Group(更改的类型, "账号", {"明细", (x)=> List.Combine( List.Transform( Table.ToRows(x), each List.LastN(_,3)))}),
重构 = Table.FromColumns(分组[明细],分组[账号] ),
已添加索引 = Table.AddIndexColumn(重构, "索引", 0, 1, Int64.Type),
表头 = List.LastN( Table.ColumnNames(更改的类型),3),
加表头 = Table.AddColumn( 已添加索引, "账号", each 表头{Number.Mod([索引],3)} & Text.From(Number.IntegerDivide([索引],3)+1)),
删除的列 = Table.RemoveColumns(加表头,{"索引"}),
降级的标题 = Table.DemoteHeaders(删除的列),
重排序的列 = Table.ReorderColumns(降级的标题,{"Column4", "Column1", "Column2", "Column3"}),
转置表 = Table.Transpose(重排序的列),
提升的标题 = Table.PromoteHeaders(转置表)
in
提升的标题
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
更改的类型 = Table.TransformColumnTypes(源,{{"账号", type text}}),
分组 = Table.Group(更改的类型, "账号", {"明细", (x)=> List.Combine( List.Transform( Table.ToRows(x), each List.LastN(_,3)))}),
重构 = Table.FromColumns(分组[明细],分组[账号] ),
已添加索引 = Table.AddIndexColumn(重构, "索引", 0, 1, Int64.Type),
表头 = List.LastN( Table.ColumnNames(更改的类型),3),
加表头 = Table.AddColumn( 已添加索引, "账号", each 表头{Number.Mod([索引],3)} & Text.From(Number.IntegerDivide([索引],3)+1)),
删除的列 = Table.RemoveColumns(加表头,{"索引"}),
降级的标题 = Table.DemoteHeaders(删除的列),
重排序的列 = Table.ReorderColumns(降级的标题,{"Column4", "Column1", "Column2", "Column3"}),
转置表 = Table.Transpose(重排序的列),
提升的标题 = Table.PromoteHeaders(转置表)
in
提升的标题