You could do this a few ways, but the one I like to use is to first, create a calculation for rank:
RANK( [Sales] )
Then create another calculation that filters the top 10 from the rank calc just created:
IF [Rank] > 10 then 'Hide' else 'Show' end
Place the [Rank] pill on the rows shelf, then convert to discrete.
Then place the [Top 10] pill on the filters shelf, then select 'Show'.
Now when you filter 'Region', sales will always be the Top 10 for each selection.
From here you can do many things, like creating a parameter to switch from Sales to Profit, etc.
I've attached a packaged workbook (v10.1)
Hope this helps
top 10 per customer.twbx 772.6 KB
Thanks! Great answer
Glad I could help