Jonathan here. Serendipity is a wonderful thing! I was briefly on the Tableau community forums last week and found this thread where Jamieson Christian described a new method for user- row-level security in Tableau that I hadn’t seen before, and it’s so awesomely cool I asked him if he could blog about it, and he accepted my invitation! I’ve already implemented this method at a client and it brought a dashboard from unacceptable refresh times to nearly instantaneous. So read on for Jamieson’s description.
Row level security often presents challenges, if your security data is not in the same data source as your main data. In such cases, solutions tend to leverage one of four techniques:
- Data prep outside of Tableau – often involves cross products that can make data sets unacceptably large.
- Passing parameter-based filter through Tableau’s Javascript API – requires using a portal that is not always feasible for organizations, also won’t work with Tableau Mobile.
- Data blending — just about the only in-Tableau option prior to Tableau 10.0.
- Cross data source joins — available in Tableau as of Tableau 10.0.
This post introduces a 5th option using a cross data source filter. see below for how to set it up!