Forum Discussion
zander140
Jun 18, 2022Copper Contributor
How to filter by subtotals if over $5000 - Pivot Table/VBA?
Hello everyone, I was wondering in a Pivot Table, how can I filter/use a slicer to display all individuals who have a subtotal over $5000 per year. I did conditional formatting to identify suc...
- Jun 19, 2022
We may play with Power Query. For such model
first prepare the source table
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes( Source, { {"Year", type date}, {"Price", Currency.Type}, {"Trip", type text} } ), #"Merged Columns" = Table.CombineColumns( #"Changed Type", {"First Name", "Last Name"}, Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Name"), #"Extracted Year" = Table.TransformColumns( #"Merged Columns", {{"Year", Date.Year, Int64.Type}}) in #"Extracted Year"Next generate list of people who spent more than 5000 annually. We ignore years with no trips.
let Source = Table, Bar = Excel.CurrentWorkbook(){[Name="PriceBar"]}[Content]{0}[Column1], #"Grouped Rows" = Table.Group( Source, {"Name", "Year"}, { {"Total", each List.Sum([Price]), type nullable number}}), #"Grouped Rows1" = Table.Group( #"Grouped Rows", {"Name"}, {{"Data", each List.Min( _[Total] ) > Bar }}), #"Filtered Rows" = Table.SelectRows( #"Grouped Rows1", each ([Data] = true)), #"Removed Other Columns" = Table.SelectColumns( #"Filtered Rows",{"Name"}), Name = #"Removed Other Columns"[Name] in NameFinally filter source table by these names and land query to the grid as PivotTable
let Source = Table, #"Filtered Rows" = Table.SelectRows( Source, each List.Contains(#"Names Filtered", [Name] )) in #"Filtered Rows"
zander140
Jun 19, 2022Copper Contributor
Thank you for your reply. I should have mentioned that I already tried doing that but it also shows if the grand total of the individual is greater than $5000 for all years instead of isolating for the subtotal of each year and checking that. Please see below. Thanks.
Dataset:
First Name Last NameTrip PriceYear
| Esther | Allan | US | 1806.45 | 2019-04-19 |
| Esther | Allan | Canda | 359.26 | 2019-07-20 |
| Esther | Allan | Italy | 5078.45 | 2022-05-04 |
| John | Smith | US | 2000.26 | 2021-02-02 |
| John | Smith | Poland | 2500.45 | 2022-05-05 |
| John | Smith | Japan | 3516.56 | 2021-05-07 |
| John | Smith | Japan | 3500.89 | 2022-07-04 |
| Ayana | Grant | Canada | 653.23 | 2021-03-05 |
| Ayana | Grant | Canada | 756.23 | 2022-04-09 |
| Ayana | Grant | US | 4000.56 | 2021-02-25 |
| Jimmy | Lee | Canada | 455.23 | 2019-04-19 |
| Jimmy | Lee | Canada | 454.56 | 2021-05-02 |
| Jimmy | Lee | Canada | 670.21 | 2021-07-02 |
Riny_van_Eekelen
Jun 19, 2022Platinum Contributor
zander140 Ah, I see. That would probably require a clever DAX measure. Not something I can help you with right now. Sorry!