I would suggest making an "Updated Fees" calculation...
If [Is Active (spend)] = 1 then [Fees] else 0 End
Use this value to represent your Fees.
Hmm, that is a good workaround that I didn't think of.
I ran into a complication though, and would still like to know how to solve the underlying filter issue. So I am not sure why, but I actually don't want the $1,992,000 from 2015. I checked the table at the datalevel, and the entire budget for that year is $9,960,000. I am not sure why, but joining the budget table to the spend table is causing extra budget to be added. If I only include "is active (spend) = 1", it fixes the problem for 2015, but makes the 2016 row disapear.
So I am back at square one, wanting to only display "is active (spend) = 1", but keeping any budget amount that is set to "is active (Budget) = 1"
You could add that into the logic of the IF statement...
If [Is Active (spend)] = 1 and [Is Active (Budget)] = 1 then [Fees] else 0 End
You could also try removing [Is Active (Budget)] from the viz if it is not needed (this will allow the measures to aggregate) or try working at a different level of aggregation (I assume you have some sort of Budget ID in the details pane)