Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
syasmin25
Helper V
Helper V

RLS on pages

Hello, 

I was wondering if there is a way I can implement RLS on pages for groups?

7 REPLIES 7
Pragati11
Super User
Super User

Hi @syasmin25 ,

 

Yes you can use RLS on all the pages of your report in Power BI for a level like Group.

You will need to add a little bit to what groups you are talking about here - AD Groups? As I don't have visibility on what groups you are talking about, Refer following articles:

https://guyinacube.com/2020/02/25/can-you-use-groups-with-power-bi-row-level-security-rls/

https://community.powerbi.com/t5/Service/Row-level-security-using-AD-groups/td-p/300732

https://www.fourmoo.com/2018/02/20/dynamic-row-level-security-is-easy-with-active-directory-security...

 

Thanks,

Pragati

Best Regards,

Pragati Jain


MVP logo


LinkedIn | Twitter | Blog YouTube 

Did I answer your question? Mark my post as a solution! This will help others on the forum!

Appreciate your Kudos!!

Proud to be a Super User!!

Thank you for the links. I was looking to use the groups on AD to filter out pages. I do not know if that is a possibility. Is there a way I could do it with just one report?

Hi @syasmin25 ,

 

Please refer the links I have shared. There are 2 of them setting up RLS using AD groups.

 

Thanks,

Pragati

Best Regards,

Pragati Jain


MVP logo


LinkedIn | Twitter | Blog YouTube 

Did I answer your question? Mark my post as a solution! This will help others on the forum!

Appreciate your Kudos!!

Proud to be a Super User!!

Hello, 

I apologise for the misunderstanding here. I have already created the groups from AD. I was wondering if it was possible to limit a groups access from a particular page of the report. For example, 
 I have 3 groups that I would have created in Power BI Desktop. 

syasmin25_0-1593520480937.png

And I do not want Level 2 to have access to Page 2 of my report, there would be no data, Is there a way I can do that?

syasmin25_1-1593520574267.png

 





Hi @syasmin25 ,

 

To my knowledge I don't think there is a way of achiving this. You may have to create a different version of dashboard with less pages in it.

Because RLS works on the data model level not on report tab-level.

Also, do check the following thread if it helps:

https://community.powerbi.com/t5/Desktop/RLS-with-UserName/td-p/82327

 

Thanks,

Pragati

Best Regards,

Pragati Jain


MVP logo


LinkedIn | Twitter | Blog YouTube 

Did I answer your question? Mark my post as a solution! This will help others on the forum!

Appreciate your Kudos!!

Proud to be a Super User!!

okay, is there a way I can restrict a group from a dataset(FIELD/TBL) then? Or, could you please tell me how to set hierarchy from Active Directory? I have gone through a lot of tutorials but I have not been able to come across one for that.

Anonymous
Not applicable

@syasmin25  If I understood your concern right then below is the solution.

Assuming you have a table (Headcount) with the unique emp id along with the email address of every employee and the immediate reporting contact - counselor email address along with the counselor unique emp id. Basically 4 columns - emp id, emp email, counselor id, conselor email (considering you have the team data where the staff, reporting senior, reporting manager, reporting senior manager are present in this table).

You need to create a column heirarchy path using the below DAX :

Heirarchy = path('Headcount'[emp id],'Headcount'[counselor id])

This will generate the complete heirarchy path from the staff to the senior manager for every employee.

Now create additional columns for every level.

Level 1 senior manager, level 2 manager, 3 senior and 4 staff.

level 1 column will have the below DAX to generate the email address of the senior manager, and 2 will have email of the manager and so on.

DAX for level 1 = lookup('Headcount'[emp email],'Headcount'[emp id],PATHITEM('Headcount'[Heirarchy],1,1),'Headcount'[emp email])

Dax for level 2 = lookup('Headcount'[emp email],'Headcount'[emp id],PATHITEM('Headcount'[Heirarchy],2,1),'Headcount'[emp email])

Dax for level 3 = lookup('Headcount'[emp email],'Headcount'[emp id],PATHITEM('Headcount'[Heirarchy],3,1),'Headcount'[emp email])

Dax for level 4 = lookup('Headcount'[emp email],'Headcount'[emp id],PATHITEM('Headcount'[Heirarchy],4,1),'Headcount'[emp email])

 

Now you need to set up RLS on this table with the user name function.

Go to manage roles. create a role 'Heirarchy' -> Table is 'Headcount' 

under the expression set the rule as below.

[emp email] = USERPRINCIPALNAME()
|| [Level 4] = USERPRINCIPALNAME()
|| [Level 3] = USERPRINCIPALNAME()
|| [Level 2] = USERPRINCIPALNAME()
|| [Level 1] = USERPRINCIPALNAME()

 

The above rule works as below.

If a user present in the headcount at staff level views, he will see only his data in the report.

a senior will see his data as well as the data for all staff reporting to him

a manager sees his data, his reporting seniors and the further drill of the staff members reporting to those seniors,

a senior manager will see all the data

 

Guess the above technique and explanation helps.

Do upvote and mark as solution if this fixes your corcern.

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.