在查询中排列数据 Table
Arranging Data in a Query Table
我正在尝试找出一种简单的方法(使用 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"
我正在尝试找出一种简单的方法(使用 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"