首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Power查询-M语言:多列的Sum与Group

Power查询-M语言:多列的Sum与Group
EN

Stack Overflow用户
提问于 2020-04-22 14:21:33
回答 1查看 2.9K关注 0票数 2

我希望为导入的csv文件编写一个DataTransform,该文件执行以下操作:

  • GroupBy: State
  • 操作:和所有列

输入数据如下所示:

我要寻找的输出将显示每个州的一行、每个日期的一列和该日期的总和。只需使用Table.Group和List.Sum,我就可以获得特定日期的数据:

代码语言:javascript
复制
= Table.Group(#"Change Dates to Num", {"Province_State"}, {{"4/19/20", each List.Sum([#"4/19/20"]), type number}, {"4/20/20", each List.Sum([#"4/20/20"]), type number}})

但是,我不知道输入中有多少个日期,所以我希望对N列这样做:

代码语言:javascript
复制
= Table.Group(#"Change Dates to Num", {"Province_State"}, List.Transform(List.RemoveFirstN(Table.ColumnNames(#"Promoted Headers"),4), (DateList) => {DateList,each List.Sum(Table.Column(#"Change Dates to Num",DateList)), type number}))

上面给出了正确的列和行数,但是List.Sum是不正确的。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-22 14:52:12

单击“选择”和“County_Region”,然后右键单击“删除列”。

只剩下Province_state和所有日期列

单击“选择Province_state”,然后右击“其他列”

现在只有三列:Province_stateAttributeValue

单击选择Province_state属性,然后右击Group .

休假设置为x Basic

对于操作,使用Sum,对于列使用

单击确定

单击选择属性,然后单击Home...Pivot列。

对于Values_Column,选择您创建的新列的名称,如SUM

代码语言:javascript
复制
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Removed Columns" = Table.RemoveColumns(Source,{"County", "Country_Regio"}),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Removed Columns", {"Province_State"}, "Attribute", "Value"),
#"Grouped Rows" = Table.Group(#"Unpivoted Other Columns", {"Province_State", "Attribute"}, {{"Sum", each List.Sum([Value]), type number}}),
#"Pivoted Column" = Table.Pivot(#"Grouped Rows", List.Distinct(#"Grouped Rows"[Attribute]), "Attribute", "Sum", List.Sum)
in #"Pivoted Column"
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61367484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档