You can use table calculation to trick Tableau into keeping all the data in the background while displaying only selected items.
The formula is:
See attached workbook for an example, where you can choose what products to display or hide without changing their % of total values.
I can't tell if it will work in your case, but you might also consider dashboard actions to get similar functionality.
BTW - nice cat.
Filter and keep all data.twbx.zip 167.3 KB
Very cool - does that count as a feature or a hack?
The correlation between my cat (a default image?) and the choice to mention cats in the question was 0.
This is one of those grey areas - depends who you ask. I'd say it is a 'gentle and benign' hack, some will consider it a feature. I believe the reason it works is a side-effect of table calculations, not developer intentions.
What is the cat's breed? He (she?) has this "deep in thought" look - working with Tableau?
A bonus question:
Your answer basically answered my question, but I am not getting it to work 100%.
Say I introduce 2 table calculations by sales in the same sheet (well, I guess it actually doesn't really matter what they are), one which splits sales by Product, and one by Type (Decaf or Regular).
In this case, the Select Product Sheet shows a *, which I'm assuming corresponds to all data which is not split by Product. As long as I keep the *, the other data will stay the same. Is this the right understanding? Is there some deeper and better level to understand this?
I get this to work in your example spreadsheet, but I'm getting some erratic behavior in another workbook (which I can't share, unfortunately) where some of the other data which is not broken out by "Product" still disappear when I filter out some of the "Product" categories in this manner. The erratic behavior seems to happen for categories with very little data to start with.
Table calculations can be temperamental and confusing. Their behaviour depends on what else is on the sheet.
Can you re-create your scenario in the attached workbook?
The * must be the result of ATTR() function, which means that there is a bunch of different values behind it. That's how it works - if there is only one repeating value in rows behind - ATTR() will show that value, if not - it will show *.