Forum Discussion
Ttaylor9870
3 years agoHelper III
Sum per month Power Query
Hey Experts! I'm stuck on the followng Power Query Problem, I would like the sum per month as a new column (see example below)... Month Date Sales What I Need Jan 01/01/2022 5 10 ...
- 3 years ago
- Group by Month/Year
- Advanced Aggregation:
- Sum of Sales
- All
- Then re-expand. Since you havethe All column, you will restore the other columns
let //change next lineto reflect data source Source = Excel.CurrentWorkbook(){[Name="Table4"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Month", type text}, {"Date", type date}, {"Sales", Int64.Type}}), //Add year-month column in case sales dates are not always on same day of month #"Added Custom" = Table.AddColumn(#"Changed Type", "YearMonth", each Date.ToText([Date],"yyyyMM"), type text), //Group by year-month // Then aggregate for All and Sum #"Grouped Rows" = Table.Group(#"Added Custom", {"YearMonth"}, { {"All", each _, type table [Month=nullable text, Date=nullable date, Sales=nullable number, YearMonth=text]}, {"Monthly Sales", each List.Sum([Sales]), type nullable number} }), //Remove the yearmonth column #"Removed Columns" = Table.RemoveColumns(#"Grouped Rows",{"YearMonth"}), //Re-expand previous columns #"Expanded All" = Table.ExpandTableColumn(#"Removed Columns", "All", {"Month", "Date", "Sales"}) in #"Expanded All" - Anonymous3 years ago
Hi Ttaylor9870 ,
Provide another way to think about it.
List.Sum(Table.SelectRows(PreviousStepName,(x)=>x[Month]=[Month])[Sales])all steps.
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8krMU9JRMtQ31DcyMDICMk2VYnVwCrulJoGFjUDCxiAmkvChBQaG+gbIUrEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Month = _t, Date = _t, Sales = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Month", type text}, {"Date", type date}, {"Sales", Int64.Type}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Sales Total", each List.Sum(Table.SelectRows(#"Changed Type",(x)=>x[Month]=[Month])[Sales])) in #"Added Custom"Best Regards,
Gao
Community Support TeamIf there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly. If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
How to get your questions answered quickly -- How to provide sample data in the Power BI Forum
ronrsnfld
3 years agoSuper User
- Group by Month/Year
- Advanced Aggregation:
- Sum of Sales
- All
- Then re-expand. Since you havethe All column, you will restore the other columns
let
//change next lineto reflect data source
Source = Excel.CurrentWorkbook(){[Name="Table4"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Month", type text}, {"Date", type date}, {"Sales", Int64.Type}}),
//Add year-month column in case sales dates are not always on same day of month
#"Added Custom" = Table.AddColumn(#"Changed Type", "YearMonth", each Date.ToText([Date],"yyyyMM"), type text),
//Group by year-month
// Then aggregate for All and Sum
#"Grouped Rows" = Table.Group(#"Added Custom", {"YearMonth"}, {
{"All", each _, type table [Month=nullable text, Date=nullable date, Sales=nullable number, YearMonth=text]},
{"Monthly Sales", each List.Sum([Sales]), type nullable number}
}),
//Remove the yearmonth column
#"Removed Columns" = Table.RemoveColumns(#"Grouped Rows",{"YearMonth"}),
//Re-expand previous columns
#"Expanded All" = Table.ExpandTableColumn(#"Removed Columns", "All", {"Month", "Date", "Sales"})
in
#"Expanded All"