In order to calculate a difference, Tableau needs 2 data points. If you're filtering one of those data points out, then it can't possibly calculate a percent difference. It's a little tricky given the dataset you've provided (only having 2 months), so would it be possible to add a few more months onto the sample data so that we could choose a month in the middle and try to only show % difference for that specific month? If you're curious, here's where I've got it so far:
When you use a quick filter, it eliminates rows from the table underlying the sheet. So when you select January, all of December is deleted from the table, and, as you have seen, there is no December data for the LOOKUP to grab for the %Diff calc.
But if you use a table calc for your filter, the filter hides/shows what you want without eliminating the other rows from the table.
Table calcs are things like WINDOW_SUM, LOOKUP, RANK, INDEX, and 100 other things.
I used LOOKUP to hack up a filter you can use. It has its problems in its current form, because it will display the values alphabetically instead of in calendar order, I think. (I may be wrong. You'll need more data to validate this.)
If that's the case, you could make a parameter that has the values in the proper order. That would create a single-select entity for you to select a month too.
test 1.twbx 21.7 KB