如何将总行添加到excel power query?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将总行添加到excel power query?相关的知识,希望对你有一定的参考价值。

我在excel power query中使用'group'函数生成了一个类似下面的表

score 1 score 2 score 3
A   6   25  50
B   8   30  20
C   15  15  30
D   20  0   10

我想在正常的数据透视表中添加一个总计行(相当于“显示列的总数”),因此结果将是这样的

score 1 score 2 score 3
A   6   25  50
B   8   30  20
C   15  15  30
D   20  0   10
Total 49    70      110

任何人都知道是否有一种简单的方法可以做到这一点?谢谢你,RY

答案

其他方式:

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    group = Table.Group(Source, {}, {{"letter", each "Total"},
                                     {"score 1", each List.Sum([score 1])},
                                     {"score 2", each List.Sum([score 2])}, 
                                     {"score 3", each List.Sum([score 3])}}),
    append = Table.Combine({Source, group})
in
    append

要么:

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    cols = Table.ColumnNames(Source),
    group = Table.Group(Source, {}, List.Zip({cols, {each "Total"}&
                                    List.Transform(List.Skip(cols), 
                                    (x)=>each List.Sum(Table.Column(_,x)))})),
    append = Table.Combine({Source, group})
in
    append

要么:

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    group = Table.Group(Source, {}, List.TransformMany(Table.ColumnNames(Source),
                                    (x)=>{each if x = "letter" then "Total" 
                                    else List.Sum(Table.Column(_,x))}, (x,y)=>{x,y})),
    append = Table.Combine({Source, group})
in
    append
另一答案

我不知道为什么你会在PowerQuery而不是pivottable中这样做,但我能想到的唯一方法是复制表,取消列,然后使用sum作为聚合重新编译它。然后,您可以将表附加到您的原始查询。

您的代码看起来与您要创建总计的表类似。

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Unpivoted Columns" = Table.UnpivotOtherColumns(Source, {}, "Attribute", "Value"),
    #"Pivoted Column" = Table.Pivot(#"Unpivoted Columns", List.Distinct(#"Unpivoted Columns"[Attribute]), "Attribute", "Value", List.Sum)
in
    #"Pivoted Column"

请注意,您可能必须选择按计数聚合,但您可以将代码更改为sum(在#“Pivot Column”行上将List.Count更改为List.Sum

您将收到A,B,C,D col的错误 - 如果您希望使用Replace Errors功能,可以将其替换为Total。

以上是关于如何将总行添加到excel power query?的主要内容,如果未能解决你的问题,请参考以下文章

Excel Power Query 和相邻公式

Power Query中如何把多列数据合并?

Excel Power Query:工序产出数据的整合与提取

【OFFICE 365】Power Query 合并工作表

Power Query 将表类型数据加载到单个 Excel 工作表

如何在Power Query中提取数据?——数值篇