you simply need to use function USERNAME() in Formula and match it with UserName field in your data set (you need to have that to apply row level security) and bring that new calculation to filters and show only when this is TRUE .
I have a few questions about how you plan to manage your workbook and data source for each site.
Here, I assume your "individual sites" means Tableau site.
I suppose you plan to publish the same workbook to each of your Tableau site.
But how about the data source? Embedded or DB connection or Tableau data source?
The available choices are,
1) Use different data sources for workbooks on different Tableau site, which only contains the data for the corresponding site, or
2) Use the same data source for all the workbooks on each Tableau site, then use data source filter + user filter (as mentioned by SYED REHMAN ) to control at data source, or
3) Use the same data source for all the workbooks on each Tableau site, then use user filter to control at workbook design.
2 and 3 are similar, but with subtle difference.
The way I do this at the moment is via published data sources - so basically publish the same data source to each site but apply a data source (or extract) filter to it to restrict the site ID/name.
Then all you have to do is disallow download on the data source, so that users can tinker with any connected workbooks but cannot change the data source filter on site.
I think that you have 2 options here.
1. You publish the data sources and workbooks to each site, with the Data sources being specific to the site that they are published to. ie For Site A, you publish the data source (either live or extracts) with a filter limiting the data to Site A, and have workbooks connecting to this data source. Your end users can then see the reports for their site.
2. You have a dedicated site, which is used for this type of reporting. In this site you publish the data sources and workbooks, and have a user filter on the data source which limits what users can see. You could have do this via group membership (ie have a group called 'Site A Members', which only has access to Site A data, etc)
The benefits of option 1 is that the end users only have one site that they need to connect to, (their normal site). However, any changes you make to workbooks / data sources will need to published to each and every site.
With Option 2, you do have 2 sites that users can connect to (their normal site, and the reporting site), but any changes you make to data sources / workbooks only need to be published once (to the reporting site).
Not sure which is the better option. It would depend on your environment / requirements
Hope this helps
I think I will have to option 1 which seems better. Also the sites have site admins who can download the data since I will not be able to restrict download for them. So i am planning to make it a live connection and not share the credentials which makes them unable to make changes to the filter and chart.
I got this working fine with a common reporting site, so just one report with Row Level Security. My challenge was to avoid creating a cartesian product between the view usage records and the thousands of users. The solution was to get a list of sites that the current user can access, then join that list of site to the permissions query.
Tableau Report Usage RLS.twb 68.3 KB