Forum Discussion
RLS issue in the application
- 2 years ago
Then you can follow this approach:
Create Separate RLS Roles:
Project Manager Role: For conditional access.
Full Access Role: For full access.
DAX for Project Manager Role:
[Column1] = USERPRINCIPALNAME() ||[Column2] = USERPRINCIPALNAME() ||
[Column3] = USERPRINCIPALNAME() ||
[Column4] = USERPRINCIPALNAME()
DAX for Full Access Role:TRUE()
Implementation Steps:
Create Roles in Power BI Desktop:
Go to "Modeling" -> "Manage Roles".
Create "Project Manager" role with the DAX filter for limited access.
Create "Full Access" role with TRUE() DAX filter.
Publish the Dataset: Publish the dataset to the Power BI service.
Assign Users to Roles in Power BI Service: Under "Security" for the dataset, assign users to the appropriate roles.
Configure Report Access in Power BI App:
In the app, configure access:
For Report 1, assign the AD groups to "Project Manager" role.
For Reports 2, 3, and 4, assign specific people to "Full Access" role.If my post helps, then please consider Accept it as the solution to help the other members find it more quickly.
In my opinion it won't work because there are some users who have Conditional Access for Report 1 (they are in Column1, Column2, Column3 or Column4) and at the same time they should have Full Access to Report 2, 3 and 4.
I mentioned about it here. Sorry if it was unclear.
"In the case of Report 1, everything looks good, but there is a problem in the case of reports 2, 3 and 4, because, as I mentioned above, all users should be able to see the full content of the reports ('Full Access' RLS), but unfortunately some people are assigned to 'Project Manager' RLS because this is what Report 1 requires."
Then you can follow this approach:
Create Separate RLS Roles:
Project Manager Role: For conditional access.
Full Access Role: For full access.
DAX for Project Manager Role:
[Column1] = USERPRINCIPALNAME() ||
[Column2] = USERPRINCIPALNAME() ||
[Column3] = USERPRINCIPALNAME() ||
[Column4] = USERPRINCIPALNAME()
DAX for Full Access Role:TRUE()
Implementation Steps:
Create Roles in Power BI Desktop:
Go to "Modeling" -> "Manage Roles".
Create "Project Manager" role with the DAX filter for limited access.
Create "Full Access" role with TRUE() DAX filter.
Publish the Dataset: Publish the dataset to the Power BI service.
Assign Users to Roles in Power BI Service: Under "Security" for the dataset, assign users to the appropriate roles.
Configure Report Access in Power BI App:
In the app, configure access:
For Report 1, assign the AD groups to "Project Manager" role.
For Reports 2, 3, and 4, assign specific people to "Full Access" role.
If my post helps, then please consider Accept it as the solution to help the other members find it more quickly.