gpt4 book ai didi

excel - 按组列的 Power Query 总和作为新列

转载 作者:行者123 更新时间:2023-12-04 09:07:45 28 4
gpt4 key购买 nike

所以我是 power query 的新手,我只是浪费了一个多小时来寻找我可以在许多其他程序中轻松完成的事情。

我只想创建一个新列来总结另一列。例如,检查百分比是否正确,如果不正确则进行标准化。我不想分组并缩小表格。

enter image description here

我一直在左右搜索并尝试添加一个新列,如“Group Sum”,使用类似= list.sum([数字])= 计算(SUM([数字])

只是为了得到所有条目的总和200。没有成功。

也许是我,但我真的不明白逻辑。

我试过了

let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Group", type text}, {"Gender", type text}, {"Number", Int64.Type}, {"Group Sum", Int64.Type}, {"Spalte1", Int64.Type}})
#"Added Custom" = Table.AddColumn(#"Geänderter Typ","Group Sum",(i)=>List.Sum(Table.SelectRows(#"Geänderter Typ", each [Group]=i[Group])[Number]), type number )
in
#"Geänderter Typ"

这会导致错误并且

let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Group", type text}, {"Gender", type text}, {"Number", Int64.Type}, {"Group Sum", Int64.Type}}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Geänderter Typ", "Benutzerdefiniert", each Table.Group(Quelle, {"Group"}, {{"Group Sum", each List.Sum([Number]), type nullable number}}))
in
#"Hinzugefügte benutzerdefinierte Spalte"

这给了我一个新列,其中所有条目都显示“表格”

最佳答案

这里还有另外两个选项。这些示例假定您的源表名为 Table1。以下是我在 Excel 中查看其源代码的方式:

enter image description here

请注意,它没有有一个 Group Sum 列。查询将得出该结果。

选项 1。

点击“添加列”,然后点击“自定义列”,像这样填写屏幕,然后点击“确定”:

enter image description here

您应该看到这样的表格:

enter image description here

然后只需单击“自定义”列第一行中的表格,您应该会得到一个如下所示的表格:

enter image description here

然后您可以将这个新表与原始源表 (Table1) 合并。单击“主页”>“合并查询”并像这样填写合并信息,然后单击“确定”。 (请注意,同一查询“Table1”此时正在合并到自身,并且仅为每个条目选择了 Group 列。)

enter image description here

您应该看到这样的表格:

enter image description here

然后,在该表上方的公式栏中,您会看到 = Table.NestedJoin(Custom, {"Group"}, Custom, {"Group"}, "Custom", JoinKind.LeftOuter),将 Custom 的第一个实例更改为 Source,因此该行显示为 = Table.NestedJoin(Source, {"Group"}, Custom, {"Group"}, "Custom", JoinKind.LeftOuter) 代替。

也就是说,将其更改为:

enter image description here

收件人:

enter image description here

然后单击 enter image description here 展开新的自定义列按钮,只选择 Group Sum 列,清除“使用原始列名称作为前缀”旁边的复选框,然后单击确定:

enter image description here

你应该得到这个结果:

enter image description here

这是 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。

点击 Transform,然后点击 Group By,像这样填写屏幕,然后点击 OK:

enter image description here

然后展开 AllData 列,只选择 Gender 和 Number 列,如下所示:

enter image description here

结果:

enter image description here

这是 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"

关于excel - 按组列的 Power Query 总和作为新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63415718/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com