我试图找出一种简单的方法(使用 PowerQuery)来转换它:
进入这个:
我花了几天时间试图找出一种简单的方法来做到这一点。
我尝试过的一切都失败了。
您可以使用“转换”选项卡上的“分组依据”,按项目分组并为每个段列定义聚合(例如总和)。然后将创建的代码从 List.Sum 调整为 List.RemoveNulls。然后使用 Table.FromColumns 从段列中添加一个包含嵌套表的列。删除原始段列并展开嵌套表。
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Project", type text}, {"Segment1", type text}, {"Segment2", type text}, {"Segment3", type text}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Project"}, {{"Segment1", each List.RemoveNulls([Segment1]), type text}, {"Segment2", each List.RemoveNulls([Segment2]), type text}, {"Segment3", each List.RemoveNulls([Segment3]), type text}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Tabled", each Table.FromColumns({[Segment1],[Segment2],[Segment3]},{"Segment1","Segment2","Segment3"})),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Segment1", "Segment2", "Segment3"}),
#"Expanded Tabled" = Table.ExpandTableColumn(#"Removed Columns", "Tabled", {"Segment1", "Segment2", "Segment3"}, {"Segment1", "Segment2", "Segment3"})
in
#"Expanded Tabled"