The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
Need guidance in implementing row level security on the below Employees table:
Employee | Local Department | Department | Manager ID |
Johnny Depp | Data Analytics | Finance | Kris Moll |
Brad Pitt | Data Analytics | Finance | Kris Moll |
Matt Damon | Product Control | Finance | Matt Damon |
James Greaves | Product Control | Finance | Matt Damon |
Roopa Naragracha | Market Data | Finance | Filip Navros |
Madhu Sai | Market Data | Finance | Filip Navros |
Jay Pot | Liquidity Risk | Finance | Chalie Ker |
George Clooney | Liquidity Risk | Finance | Chalie Ker |
Clive Owen | FP&A | Finance | Clive Owen |
Raju Singh | FP&A | Finance | Clive Owen |
Chris Helmsworth | FP&A | Finance | Clive Owen |
Kelly Smith | Data Analytics | Finance | Kris Moll |
This is the data model:
Employees who are not a manager, should only see their data. So for example, Johnny Depp is an employee and is not a manager, so he should only see their records.
Employees who are a manager should see their data as well the employees they manage. So for example, Clive Owen is an employee with manager status so he should see his records as well Raju Singh and Chris Helmsworth.
How do I do this?
Solved! Go to Solution.
Hi,
If you have only two layers it can be handled by following:
1) Join emails of Employee as "Employee Email" and Manager's as "Manager Email". In the Desktop follow this:
https://learn.microsoft.com/en-us/fabric/security/service-admin-row-level-security
2) Here you define 2 roles "Employee" and "Manager"
3) For employee role you set "Employee Email" == userprincipalname()
4) For manager role you set "Manager Email" == userprincipalname()
5) Follow RLS configuration in the Power BI Service after publishing
Hi @mp390988,
we would like to follow up to see if the solution provided by the super user resolved your issue. Please let us know if you need any further assistance.
If our super user response resolved your issue, please mark it as "Accept as solution" and click "Yes" if you found it helpful.
Regards,
Vinay Pabbu
Hi @mp390988,
we would like to follow up to see if the solution provided by the super user resolved your issue. Please let us know if you need any further assistance.
If our super user response resolved your issue, please mark it as "Accept as solution" and click "Yes" if you found it helpful.
Regards,
Vinay Pabbu
Hi @mp390988,
we would like to follow up to see if the solution provided by the super user resolved your issue. Please let us know if you need any further assistance.
If our super user response resolved your issue, please mark it as "Accept as solution" and click "Yes" if you found it helpful.
Regards,
Vinay Pabbu
Hi @mp390988 have you tried using PATH and PATHCONTAINS dax ?
Employees who are a manager should see their data as well the employees they manage.
PATHCONTAINS([Path], LOOKUPVALUE(data[Employee key], data[email], USERPRINCIPALNAME()))
Hi,
If you have only two layers it can be handled by following:
1) Join emails of Employee as "Employee Email" and Manager's as "Manager Email". In the Desktop follow this:
https://learn.microsoft.com/en-us/fabric/security/service-admin-row-level-security
2) Here you define 2 roles "Employee" and "Manager"
3) For employee role you set "Employee Email" == userprincipalname()
4) For manager role you set "Manager Email" == userprincipalname()
5) Follow RLS configuration in the Power BI Service after publishing
User | Count |
---|---|
82 | |
81 | |
35 | |
32 | |
32 |
User | Count |
---|---|
93 | |
79 | |
62 | |
54 | |
51 |