let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
更改的类型 = Table.TransformColumnTypes(源,{{"型号", type text}, {"方案明细", type text}, {"数量", Int64.Type}, {"序号", type text}}),
按分隔符拆分列 = Table.SplitColumn(更改的类型, "方案明细", Splitter.SplitTextByDelimiter("+", QuoteStyle.Csv), {"方案明细.1", "方案明细.2", "方案明细.3", "方案明细.4", "方案明细.5", "方案明细.6", "方案明细.7"}),
更改的类型1 = Table.TransformColumnTypes(按分隔符拆分列,{{"方案明细.1", Int64.Type}, {"方案明细.2", type text}, {"方案明细.3", type text}, {"方案明细.4", Int64.Type}, {"方案明细.5", type text}, {"方案明细.6", type text}, {"方案明细.7", Int64.Type}}),
逆透视的其他列 = Table.UnpivotOtherColumns(更改的类型1, {"型号", "数量", "序号"}, "属性", "值"),
删除的列 = Table.RemoveColumns(逆透视的其他列,{"属性"}),
按分隔符拆分列1 = Table.SplitColumn(Table.TransformColumnTypes(删除的列, {{"值", type text}}, "zh-CN"), "值", Splitter.SplitTextByDelimiter("×", QuoteStyle.Csv), {"值.1", "值.2"}),
更改的类型2 = Table.TransformColumnTypes(按分隔符拆分列1,{{"值.1", Int64.Type}, {"值.2", Int64.Type}}),
插入的总和 = Table.AddColumn(更改的类型2, "加法", each List.Sum({[数量], [值.2]}), Int64.Type),
已添加自定义1 = Table.AddColumn(插入的总和, "自定义", each [值.1]*[值.2]),
删除的列3 = Table.RemoveColumns(已添加自定义1,{"加法"}),
已添加条件列 = Table.AddColumn(删除的列3, "自定义.1", each if [自定义] = null then [值.1] else null),
合并的列2 = Table.CombineColumns(Table.TransformColumnTypes(已添加条件列, {{"自定义.1", type text}, {"自定义", type text}}, "zh-CN"),{"自定义.1", "自定义"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"已合并"),
删除的列4 = Table.RemoveColumns(合并的列2,{"值.1", "序号"}),
更改的类型5 = Table.TransformColumnTypes(删除的列4,{{"已合并", Int64.Type}}),
删除的列1 = Table.RemoveColumns(更改的类型5,{"值.2"}),
已添加自定义 = Table.AddColumn(删除的列1, "自定义", each [数量]*[已合并]),
自定义1 = List.Sum (已添加自定义[自定义])
in
自定义1
|