2 Replies Latest reply on Mar 21, 2016 9:54 PM by Chandra Shekhar Jain

    Row Level Security. User with access to more than one Product.

    Jonathan Miller

      I have an issue with row level security. Let’s say I have three products and four users. Each user is responsible for a single product except for manager z who is responsible for all products. I will also have other managers who will be responsible for 2 products and so on.


      I join my product_sales table to my user_access table.


      I created a calculated field using FULLNAME()=[Userid] and set it as a data filter = true.


      Now my dashboard works and the data is limited for each user EXCEPT manager Z (Any users who I need to set with access to 2 or more products will not work).


      Manager Z should have access to all data in the dashboard but for some reason it’s not showing anything.


      What is the best technique for allowing this?



      Product a

      Product b

      Product c



      Manager a

      Manager b

      Manager c

      Manager Z


      Product_sales Table

      1/1/2015, product a, 50

      1/1/2015, product b, 50

      1/1/2015, product c, 50

      1/1/2015, product a, 50

      1/1/2015, product c, 50


      User_Access Table

      Product a, Manager A

      Product b, Manager B

      Product c, Manager C

      Product a, Manager Z

      Product b, Manager Z

      Product c, Manager Z

        • 1. Re: Row Level Security. User with access to more than one Product.
          Esther Aller

          Hey Jonathan,


          Without seeing exactly how the data is structured and how the view is set up, it's difficult to give an exact answer. I used the provided sample data to create a table join between the Product_Sales table and the User_Access table. While I don't have those users on my Tableau Server I was able to test the behavior by creating a view with manager from User_Access and product from Product_Sales:



          This appears to be the desired behavior. The issue may be with how the table join has been created. Below I have a screenshot of my table join:



          If you are able to share a packaged workbook that demonstrates the experienced issue, then I may be able to give you more specific advice. Check out Anonymize your Tableau Package Data for Sharing for instructions on one method of anonymizing data so it can be shared.


          • 2. Re: Row Level Security. User with access to more than one Product.
            Chandra Shekhar Jain



            This should work perfectly. We use this all the time.

            However , the issues we face is


            a. The names in the Tables do not exactly match the Tableau Usernames

            b. If they match they are  not of the same case.

            c. We use the userfilter as  upper(username()) = upper(Manager) instead of fullname() = Manager

            d. Duplicating of Data (if the userfilter is not set)