The more I ponder this, the more I realize it's going to need an extra level of context awareness to function. And likely a whole VIEW or S.Proc to make it work in Tableau. If I could do a multi-valued list parameter and actually reference it, like in other products (like Crystal Reports), I'd do something like:
- parameter InputList as ['USA', 'Canada']
WHERE [Country] IN InputList
HAVING COUNT(DISTINCT [Country]) >= LENGTH( InputList )
This way, in the example of Mike only having 'USA' in the list would be dropped, thus a sub-count of only '1'. I know the logic above is still not whole, but I hope you get the idea.