let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
逆透视的其他列 = Table.UnpivotOtherColumns(源, {"合同号"}, "属性", "值"),
按照字符转换拆分列 = Table.SplitColumn(逆透视的其他列, "属性", Splitter.SplitTextByCharacterTransition((c) => not List.Contains({"0".."9"}, c), {"0".."9"}), {"属性.1", "属性.2"}),
删除的列 = Table.RemoveColumns(按照字符转换拆分列,{"属性.2"}),
已添加条件列 = Table.AddColumn(删除的列, "自定义", each if Text.StartsWith([属性.1], "描述") then "描述" else [属性.1]),
删除的列1 = Table.RemoveColumns(已添加条件列,{"属性.1"}),
已添加索引 = Table.AddIndexColumn(删除的列1, "索引", 0, 1, Int64.Type),
被用整数除的列 = Table.TransformColumns(已添加索引, {{"索引", each Number.IntegerDivide(_, 4), Int64.Type}}),
已透视列 = Table.Pivot(被用整数除的列, List.Distinct(被用整数除的列[自定义]), "自定义", "值"),
更改的类型 = Table.TransformColumnTypes(已透视列,{{"起始日期", type date}}),
已添加自定义 = Table.AddColumn(更改的类型, "自定义", each {1..[付款频率]}),
#"展开的“自定义”" = Table.ExpandListColumn(已添加自定义, "自定义"),
将列中的数减去 = Table.TransformColumns(#"展开的“自定义”", {{"自定义", each _ - 1, type number}}),
已添加自定义1 = Table.AddColumn(将列中的数减去, "自定义.1", each Date.AddMonths([起始日期],[自定义])),
更改的类型1 = Table.TransformColumnTypes(已添加自定义1,{{"自定义.1", type date}}),
删除的列3 = Table.RemoveColumns(更改的类型1,{"起始日期", "自定义", "索引"})
in
删除的列3 |