如何根据两列中的重复项对表中的行进行求和

问题描述 投票:0回答:1

我两天来一直在谷歌搜索试图找到这个问题的解决方案。我有一个很大的数据集,想要根据利润行具有相同的 ID 和销售月份的事实来合并/求和利润行。下面的例子:

ID  Sale Month  Profit  Person
1   5/2021           10 Tom
1   5/2021           5  Tom
1   6/2021           15 Bob
2   7/2023           20 Bob
3   5/2021           25 Jan
2   7/2023           30 Bob

理想情况下会导致

ID  Sale Month  Profit  Person
1   5/2021           15 Tom
1   6/2021           15 Bob
2   7/2023           50 Bob
3   5/2021           25 Jan

我尝试为此执行 powerquery groupby 和数据透视表,但我似乎无法正确组织它。另外,在进行合并之后,我需要使用依赖于新利润的 if 语句向数据集添加一列,而数据透视表可以做到这一点,因此我无法轻松执行此操作。 groupby 的问题是我无法在新的组合数据集中保留我需要的附加列(例如产品类型、产品颜色等),而不更改正在组合的行数。

例如:仅根据 ID、月份和人员进行分组会产生 400 行(这是正确的)

对我需要的所有列(ID、月份、人员、类型、颜色)进行分组会产生 550 行,这意味着它没有按照我需要的方式进行求和。

如何让类型/颜色显示在新表中,同时仍然对正确的行求和?

有人知道我在这里能做什么吗?谢谢!!

excel pivot-table powerquery
1个回答
0
投票

电量查询:

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Sale Month", type date}, {"Profit", Int64.Type}, {"Person", type text}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"ID", "Sale Month"}, {
        {"Profit", each List.Sum([Profit]), type nullable number},
        {"Person", each Text.Combine(List.Distinct([Person]),"; "), type nullable text}})
in
    #"Grouped Rows"
© www.soinside.com 2019 - 2024. All rights reserved.