多个中式表格合并并转换(Power Query)
数据源:
转换结果:
let
源 = Excel.Workbook(File.Contents(".....xlsx")),
整理表 = Table.SelectColumns(Table.SelectRows(源, each ([Kind] = "Sheet") and Text.EndsWith([Name], "区")),{"Data"}),
展开表 = Table.ExpandTableColumn(整理表, "Data", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13"}, {"Data.Column1", "Data.Column2", "Data.Column3", "Data.Column4", "Data.Column5", "Data.Column6", "Data.Column7", "Data.Column8", "Data.Column9", "Data.Column10", "Data.Column11", "Data.Column12", "Data.Column13"}),
前三列向下填充 = Table.FillDown(展开表,{"Data.Column1", "Data.Column2", "Data.Column3"}),
删除多余数据行 = Table.SelectRows(Table.PromoteHeaders(Table.Skip(前三列向下填充,3)), each ([经销商全称] <> "经销商全称") and ([区域] <> "经销商11月份库存登记表")),
逆透视 = Table.UnpivotOtherColumns(删除多余数据行, {"区域", "办事处", "经销商全称"}, "属性", "值"),
整理属性列 = Table.TransformColumns(逆透视, {"属性", each Text.BeforeDelimiter(_, "_")}),
添加索引 = Table.AddIndexColumn(整理属性列, "索引"),
两行同数 = Table.TransformColumns(添加索引, {"索引", each Number.RoundDown(_ / 2)}),
分组透视列 = Table.Group(两行同数, {"索引"}, {"内容", each Table.Pivot(_, List.Distinct(_[属性]), "属性", "值", List.Sum)}),
展开 = Table.ExpandTableColumn(分组透视列, "内容", {"区域", "办事处", "经销商全称", "产品日期", "数量"}, {"区域", "办事处", "经销商全称", "产品日期", "数量"}),
删除多余列 = Table.RemoveColumns(展开,{"索引"}),
更改的类型 = Table.TransformColumnTypes(删除多余列,{{"区域", type text}, {"办事处", type text}, {"经销商全称", type text}, {"产品日期", Int64.Type}, {"数量", Int64.Type}})
in
更改的类型
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2022-04-16 Word2003被退休了,以前做的文档都是DOC的,肿么办?
2022-04-16 Excel2003被退休了,以前做的文档都是XLS的,肿么办?(Excel代码集团)