Power Query - M 语言:对多列进行分组求和
Power Query - M Language: Sum with Group By for multiple columns
我正在为一个执行以下操作的导入的 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}))
以上给出了正确的列数和行数,但 List.Sum 不正确。
感谢您的帮助。
单击 select County 和 County_Region 然后右键单击删除列...
只剩下 Province_state 和所有日期列
单击 select Province_state 然后右键单击 Unpivot other columns
现在您只有三列,Province_state、Attribute 和 Value
同时单击 select Province_state 和 Attribute 然后右键单击分组依据...
将设置保留为 [x] 基本
操作使用Sum,Column使用Value
点击确定
单击 select 属性,然后单击主页...数据透视列..
对于 Values_Column 选择您创建的新列的名称,例如 SUM
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"
我正在为一个执行以下操作的导入的 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}))
以上给出了正确的列数和行数,但 List.Sum 不正确。
感谢您的帮助。
单击 select County 和 County_Region 然后右键单击删除列...
只剩下 Province_state 和所有日期列
单击 select Province_state 然后右键单击 Unpivot other columns
现在您只有三列,Province_state、Attribute 和 Value
同时单击 select Province_state 和 Attribute 然后右键单击分组依据...
将设置保留为 [x] 基本
操作使用Sum,Column使用Value
点击确定
单击 select 属性,然后单击主页...数据透视列..
对于 Values_Column 选择您创建的新列的名称,例如 SUM
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"