我有一个表,其中的行中有多个标题,当我取消透视表时我想保留这些标题,但我找不到根据需要取消透视表的方法。 请在下面找到原始表格的示例
实际情况 | 实际情况 | 计划 | 计划 | ||
---|---|---|---|---|---|
20 财年 | 20 财年 | 21财年 | 21财年 | ||
国家 | 业主 | 2020年1月1日 | 2020年1月1日 | 2020年1月1日 | 2020年1月1日 |
法国 | 理查德 | 100 | 150 | 80 | 160 |
法国 | 马丁 | 120 | 140 | 130 | 140 |
法国 | 皮埃尔 | 50 | 100 | 50 | 80 |
下面是我想要实现的目标(取消旋转 4 列,但将行中的标题保留为新列)
国家 | 业主 | 版本 | 年份 | 日期 | 价值 |
---|---|---|---|---|---|
法国 | 理查德 | 实际情况 | 20 财年 | 2020年1月1日 | 100 |
法国 | 理查德 | 实际情况 | 21财年 | 2020年1月1日 | 150 |
法国 | 理查德 | 计划 | 20 财年 | 2020年1月1日 | 80 |
法国 | 理查德 | 计划 | 21财年 | 2020年1月1日 | 160 |
法国 | 马丁 | 实际情况 | 20 财年 | 2020年1月1日 | 120 |
法国 | 马丁 | 实际情况 | 21财年 | 2020年1月1日 | 140 |
法国 | 马丁 | 计划 | 20 财年 | 2020年1月1日 | 130 |
法国 | 马丁 | 计划 | 21财年 | 2020年1月1日 | 140 |
法国 | 皮埃尔 | 实际情况 | 20 财年 | 2020年1月1日 | 50 |
法国 | 皮埃尔 | 实际情况 | 21财年 | 2020年1月1日 | 100 |
法国 | 皮埃尔 | 计划 | 20 财年 | 2020年1月1日 | 50 |
法国 | 皮埃尔 | 计划 | 21财年 | 2020年1月1日 | 80 |
我相信这只能通过自定义代码来实现,但除了标准功能之外我对它并不熟悉。
提前感谢您,如果有任何其他相关信息,请告诉我。
干杯
你可以试试
let Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
NewNames= {Source{2}[Column1] }&{ Source{2}[Column2] }& List.RemoveFirstN(List.Transform(List.Zip({Record.FieldValues(Source{0}),Record.FieldValues(Source{1})}), each Text.Combine(_,":")),2),
Rename=Table.RenameColumns(Table.Skip(Source,2),List.Zip({Table.ColumnNames(Source),NewNames})),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Rename, {"Country", "Owner"}, "Attribute", "Value"),
#"Split" = Table.SplitColumn(#"Unpivoted Other Columns", "Attribute", Splitter.SplitTextByEachDelimiter({":"}, QuoteStyle.Csv, false), {"Version", "Year"}),
Touchup=Table.TransformColumns(#"Split",{{"Version", each Text.Combine(List.RemoveItems(Text.ToList(_),{"0".."9"}))}})
in Touchup