表格结构转换(Power Query)

问题:左表转成右表

let
    源 = Excel.CurrentWorkbook(){[Name="表1_5"]}[Content],
    添加公司名列 = Table.TransformColumns(Table.ExpandTableColumn(Table.Group(源, {"件号"}, {"内容", each Table.AddIndexColumn(_,"公司名",1)}), "内容", {"日期", "单件", "公司名"}), {"公司名", each "公司" & Number.ToText(_)}),
    设置标题名 = Table.CombineColumns(Table.SelectRows(Table.FillUp(Table.AddColumn(Table.UnpivotOtherColumns(添加公司名列, {"件号"}, "属性", "值"), "自定义", each if [属性] = "公司名" then [值] else null),{"自定义"}), each ([属性] <> "公司名")),{"自定义", "属性"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"标题名"),
    分组转置 = Table.ExpandTableColumn(Table.Group(设置标题名, {"件号"}, {"内容", each Table.PromoteHeaders(Table.Skip(Table.Transpose(_),1))}), "内容", {"公司1日期", "公司1单件", "公司2日期", "公司2单件", "公司3日期", "公司3单件"}),
    更改的类型 = Table.TransformColumnTypes(分组转置,{{"件号", Int64.Type}, {"公司1日期", type date}, {"公司1单件", type number}, {"公司2日期", type date}, {"公司2单件", type number}, {"公司3日期", type date}, {"公司3单件", type number}})
in
    更改的类型

 

posted @ 2024-05-12 13:42  熬肥妖  阅读(24)  评论(0编辑  收藏  举报