Let's assume a pretty simple data source (actually one of MySQL database views) representing a meetings that have 'Status' attribute. This attribute has three allowable values "Held", "NotHeld" and "Planned".
Now, I would like to display a Quick Filter on a Tableau view to allow users to choose/filter meetings needed. Pretty simple, right? But the problem is that my users would like to see Quick Filter values translated into Russian.
The most simple solution is to place Status pill on Mark shelf to get access to "Edit aliases..." context menu. But what if the number of statuses increases from three to thirteen values?
I tried to use blending data sources using pasted one I created in MS Excel. But when I try to place a StatusValue pill onto Filter shelf Tableau "generates" null value and replicate it to Quick Filter shelf as well.
As you can see original data source has no null values for Status field. So what is the reason null value is "generated" while playing with Filter shelf?
And the second question: do you know some other techniques to translate/map raw database values into desired language a little bit more "dynamically" then dealing with aliases?
The Null is an artifact of how Tableau builds quick filters. Tableau doesn't fully interrogate the primary and secondary sources to determine whether a blended dimension from the secondary is domain complete for the primary data source, so whenever you have a dimension from the secondary, you're going to get an extra Null value in the Quick Filter to reflect the possibility that there are values in the primary that don't have corresponding values in the secondary. I'm not sure if there's an Idea out there to get rid of that Null, I did an initial search and couldn't find one - if you create something, post it back here and I'll vote it up!
FYI, you can use Sets from the secondary by turning the Set into a calculated dimension and then using that, but you will still get Nulls unless you use extra calculated fields to hide the null values, I've got a blog post on that coming up.
Anyways, the solution that I use for this kind of situation is to use either a multiple tables connection in Tableau or build a query/view to use as the Tableau data source where the descriptive text is left-joined to the data. That way I get an exact list of values as a dimension in Tableau that can take full advantage of sorting, filtering, etc. capabilities.
Jonathan