3 Replies Latest reply on Oct 1, 2018 5:32 AM by Zach Leber

    Row Level Restriction

    kishorereddy komireddy

      I have Implemented Row Level Restriction by using ISMEMBEROF() and Applied at Data Source Level and Published the data Source Separately and to restrict the users don't change the access restriction logic in side the workbook.

      Created this logic using region and country fields. When ever new country added to the business i need to go back to the logic and add the new country to apply access restriction. This takes lot of manual work.Downloading the Data Source and change the calculation and publish the Data Source back to the server. like this i have 10 Data source .each time i have to download all of them and publish to back to server.


      Is there any alternative way to do this? If yes,Please suggest.

        • 1. Re: Row Level Restriction
          Zach Leber

          If permissions are set at the region level (e.g. Africa) and the region is its own field in the row-level data, then it shouldn't matter if a new country comes online (e.g. Guinea) as you're not even checking the country field.


          If permissions are country-specific then you can create a new group on Tableau Server to match the new country name in your data and you don't have to re-publish anything. Your row-level data source filter would check if ISMEMBEROF([country]) was TRUE.

          • 2. Re: Row Level Restriction
            kishorereddy komireddy

            Thanks Zach for replay.

            Permissions are country specific.I was doing like that only.

            My queston was let say i am using ISMEMEBEROF  function like this

            (ISMEMBEROF('Country1') AND  [country_code] = 'c1' )OR

            (ISMEMBEROF('Country2') AND  [country_code] = 'c2' )OR  for all the countries.

            today i have 10 countries with access restrictions.  Later i have to restrict another  3 more countries then i will go to  the calculation and  i have to modify the calculation like this

            (ISMEMBEROF('Country1') AND  [country_code] = 'c1' )OR

            (ISMEMBEROF('Country2') AND  [country_code] = 'c2' )OR


            (ISMEMBEROF('Country11') AND  [country_code] = 'c11' )OR

            (ISMEMBEROF('Country12') AND  [country_code] = 'c12' )OR


            this is pretty manual work right. Instead of that any automatic procedure ?

            • 3. Re: Row Level Restriction
              Zach Leber

              Hi Kishorereddy. If you name your Tableau Server groups to exactly match your source data country codes, you can simplify the filter condition to ISMEMBEROF([country_code]). Then no maintenance required other than to add new groups on Server if you get new countries in your data. Regards, Zach.