excel Power Query - M语言:使用Group By对多列求和

bmvo0sr5  于 2023-05-30  发布在  其他
关注(0)|答案(1)|浏览(225)

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

  • GroupBy:州
  • 操作:对所有列求和

输入数据如下所示:

我正在寻找的输出将显示每个州的一行,每个日期的一列,以及该日期的总和。只要使用Table.Group和List.Sum,我就可以得到特定日期的结果:

= 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列:

= 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}))

上面给了我正确的列数和行数,但列表。总和是不正确的。
谢谢你的帮助

k5ifujac

k5ifujac1#

单击选中CountyCounty_Region,然后右键单击删除列...
只剩下Province_state和所有日期列
单击选择Province_state,然后右键单击取消透视其他列
现在只有Province_stateAttributeValue三列
单击选择属性,然后单击变换...透视列...。选择作为值列,其他选项保持不变

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

相关问题