Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Row Level Security question

I currently use Row Level Security at the Team level.    Meaning, we have salespeople, and I have created manual "groups"  (teams) and put each sales person in the team they belong to.    The manual group is created from the Salesperson field that exist on each table  (such as Orders table, Shipping table, etc).  

 

We have a situation where some salespeople might move from one team to another.   My idea is to create a new "group" and call it Previous Team or something.   Then assign the salesperson into that team.   

 

So, effectively one salesperson would then be tied to two different teams and we could track the orders associated with the salesperson during their tenure with each team.  

 

My question is:   Can RLS use two different groups?   Something like    [Team1] = "Direct Sales"  &&  [Team2] = Indirect Sales

  • Anonymous's avatar
    Anonymous
    5 years ago

    hi Anonymous - the security in the role you are creating should be 

    [Salesperson Team] = "Authorized Resller" ||  [ [Salesperson Team] = "Business Development" - as in the user should have access to Authorized Reseller OR Business development; you had previously set it up as an AND condition. 

     

    Please mark the post as a solution and provide a ๐Ÿ‘ if my comment helped with solving your issue. Thanks!

8 Replies

  • VijayP's avatar
    VijayP
    Community Champion

    Anonymous 

    If I have understood the ProblemStatement Properly, you can create multiple Roles and assign to different groups.

     

  • Anonymous's avatar
    Anonymous
    Not applicable

    hi Anonymous - I would recommend a cleaner approach by creating a security table in your data model which will have the mapping the Sales Rep and the Branch or Revenue stream that they will have access to - then you can create a single security role which you can assign all Users to.

     

    Ensure that this security table is setup as a bridge between your FACT and Location table - if you are applying RLS by location. Then as Sales Rep moves from one Branch to another you will only have to maintan the Security table rather than managing the users within each role.

     

    You can refer to the link for more detailed steps on implementing the same: 

    https://key2consulting.com/how-to-setup-row-level-security-rls-in-microsoft-power-bi/

     

    Please mark the post as a solution and provide a ๐Ÿ‘ if my comment helped with solving your issue. Thanks!

  • v-janeyg-msft's avatar
    v-janeyg-msft
    Community Support

    Hi, Anonymous

     

    Itโ€™s my pleasure to answer for you.

    If you only create a role on the desktop to filter the people in your table who compound two conditions at the same time, like: [Team1] = "Direct Sales" && [Team2] = Indirect Sales, it is possible, but when you publish it to the service Later, the added role must also be a group or a member that meets both conditions.

     

    If it doesnโ€™t meet your requirements ,could you please share more details and share some sample data?

     

    Best Regards

    Janey Guo

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

    • Anonymous's avatar
      Anonymous
      Not applicable

      Here is my RLS scenario: 

       

      I have a few managers that need to see salespeople in the two groups below.    The "authorized reseller" team by itself works perfectly fine in the RLS environment.     My hope was that I could just add the additional team (business development) by just adding && and the other team name.    So something like:  [Salesperson Team] = "Authorized Resller" &&  [ [Salesperson Team] = "Business Development".    This does not work and ends up making everything disappear.  

       

      Is there a way to do this?

       

       

       

      • Anonymous's avatar
        Anonymous
        Not applicable

        hi Anonymous - the security in the role you are creating should be 

        [Salesperson Team] = "Authorized Resller" ||  [ [Salesperson Team] = "Business Development" - as in the user should have access to Authorized Reseller OR Business development; you had previously set it up as an AND condition. 

         

        Please mark the post as a solution and provide a ๐Ÿ‘ if my comment helped with solving your issue. Thanks!