Setting Up Row Level Permissions in Tableau

Need help with your Tableau dashboards? Sign up for an office hour to work with Eric! Want to dive deep into Tableau? Check out our upcoming Tableau classes!

Imagine you are working on a project where you want to allow users to only see data that’s applicable to them. A simple example of this is a restaurant chain. You might create a sales report where you want a General Manager to only see the data for their store but not others.

Here is a dashboard showing data for the whole company:

63-1.png

It’s based on a data table that looks like this:

63-2.png

Each row of data is a single item that was ordered from a single location on a given day.

Now, let’s imagine I manage just one of the five locations so I should only see data for the entity “Horseshoe Bay”. Using Tableau’s default permission capabilities doesn’t give me the capability to limit a user to seeing only part of the data.

What I’ve done instead is created a second table with a list of the entity names and the Tableau Online username of the applicable manager.

63-3.png

(Not sure where to get these usernames? Once somebody has created a Tableau Online or Tableau Server account, a Tableau Server Administrator can access a list of all active users.)

I’m going to create an inner join between the two tables where Entity name is shared.

63-4.png

Now I’ll add a data source filter based on the [Manager Username] field.

63-5.png

This will be a conditional filter and we only keep data where the [Manager Username] field matches the USERNAME() function. The USERNAME() function returns the username of the individual who is logged into Tableau Server or Online.

63-6.png

After applying that filter, you can see that I am limited to just seeing some of the data based on my username:

63-7.png

Need help setting up row level permissions for your own dashboard? Sign up for an office hour and we can help!






Can the same field be averaged and summed in a Tableau total?

How to Create a Dynamic Color Legend in Tableau

0