Forum Discussion

LP280388's avatar
LP280388
Icon for Resolver II rankResolver II
4 years ago
Solved

Row Level Security to view manager and his directs

Hi Team,

 

Need a help on creating a DAX measure to add in Role condition under Manage Roles.

 

I have a table called "Employee_Master" where there are below columns.  The IsManager/Supervisor? column indicates if an employee is a manager or supervisor.

I need to now filter the data in RLS based on this condition.
The condition is "if an employee is a manager, then give access to his directs and himself. if not give access only to his record.

Kindly help me with the dax expression for RLS.

 

For example : if 1005 logs in, he should see himself (1005) and his subordinates 1003 & 1010

employee idEmployee nameManager IDSupervisor IDIsManager/Supervisor?
1001raghu  1
1002rathna100110031
1003suresh100110051
1004manju100210030
1005simha100210031
1006sam100210031
1007dan100110060
1008charan100110060
1009vijay100110060
1010sunil100510030

 

  • Try

    FORMAT('Table'[Manager ID],"#") = USERPRINCIPALNAME()
    ||
    FORMAT('Table'[Supervisor ID],"#") = USERPRINCIPALNAME() 
    ||
    FORMAT('Table'[employee id],"#") = USERPRINCIPALNAME()

    Note that the format function should not be required it was used for testing as the UPN was a number. Also suggest that you include an email field on your table so that you can use USERPRINCIPALNAME()

    Good luck 

4 Replies

  • jsaunders_zero9's avatar
    jsaunders_zero9
    Icon for Responsive Resident rankResponsive Resident

    Try

    FORMAT('Table'[Manager ID],"#") = USERPRINCIPALNAME()
    ||
    FORMAT('Table'[Supervisor ID],"#") = USERPRINCIPALNAME() 
    ||
    FORMAT('Table'[employee id],"#") = USERPRINCIPALNAME()

    Note that the format function should not be required it was used for testing as the UPN was a number. Also suggest that you include an email field on your table so that you can use USERPRINCIPALNAME()

    Good luck