这里还有另外两个选项。这些示例假设您的源表名为 Table1。以下是我在 Excel 中查看其源代码的方式:
注意它确实如此not有一个“组总和”列。查询将得出该结果。
选项1。
单击“添加列”,然后单击“自定义列”,并像这样填写屏幕,然后单击“确定”:
您应该看到这样的表格:
然后只需单击“自定义”列第一行中的表格,您应该会得到一个如下所示的表格:
然后您可以将此新表与原始源表 (Table1) 合并。单击“主页”>“合并查询”并填写合并信息,如下所示,然后单击“确定”。 (请注意,此时同一查询“Table1”正在合并到其自身,并且仅为每个条目选择“组”列。)
您应该看到这样的表格:
然后,在该表格上方的公式栏中,您会看到= Table.NestedJoin(Custom, {"Group"}, Custom, {"Group"}, "Custom", JoinKind.LeftOuter)
,将 Custom 的第一个实例更改为 Source,因此该行显示= Table.NestedJoin(Source, {"Group"}, Custom, {"Group"}, "Custom", JoinKind.LeftOuter)
反而。
也就是说,将其更改为:
To:
Then expand the new Custom column by clicking the button, only selecting the Group Sum column, clearing the checkbox beside "Use original column name as prefix," and clicking OK:
你应该得到这个结果:
这是M代码:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Group", type text}, {"Gender", type text}, {"Number", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Table.Group(Source, {"Group"}, {{"Group Sum", each List.Sum([Number]), type nullable number}})),
Custom = #"Added Custom"{0}[Custom],
#"Merged Queries" = Table.NestedJoin(Source, {"Group"}, Custom, {"Group"}, "Custom", JoinKind.LeftOuter),
#"Expanded Custom" = Table.ExpandTableColumn(#"Merged Queries", "Custom", {"Group Sum"}, {"Group Sum"})
in
#"Expanded Custom"
(您可以在上面的代码中分别将 Table1、Source 和 Changed Type 替换为 Tablelle1、Quelle 和 #"Geänderter Typ",以与 Max 的语言保持一致。)
选项 2。
单击“变换”,然后单击“分组依据”,并像这样填写屏幕,然后单击“确定”:
然后展开 AllData 列,仅选择 Gender 和 Number 列,如下所示:
结果:
这是M代码:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Grouped Rows" = Table.Group(Source, {"Group"}, {{"AllData", each _, type table [Group=text, Gender=text, Number=number]}, {"Group Sum", each List.Sum([Number]), type number}}),
#"Expanded AllData" = Table.ExpandTableColumn(#"Grouped Rows", "AllData", {"Gender", "Number"}, {"Gender", "Number"})
in
#"Expanded AllData"