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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
freak
New Member

Filter Expression Role Level Security

Hello

 

I have a table like this

 

CompanyprincipalNameData
company1user1 ..
company1user2 ..
company2user3 ..
company2user4 ..

 

Wenn a User (user1 and 2) from Company1 open the report he should see all data from company1. 

User (user3 and 4) from company2 will only see Data from company2

 

principalName is USERPRINCIPALNAME()

 

How can i write a Filter Dax Expression?

 

Thanks

1 ACCEPTED SOLUTION
v-xiaoyan-msft
Community Support
Community Support

Hi @freak ,

 

It sounds like you need an RLS setup with hierarchy.
You could try using Dynamic Row Level Security with Manager Level Access in Power BI.

 

The very first step is always identifying who is the person logged into the report in Power BI Service. This can be done with Username() or UserPrincipalName() functions in DAX.

We can use a DAX expression to identify is the person logged in, a manager or not. This can be done with a simple MAXX expression.

 

For more information,you can refer to:Dynamic Row Level Security with Manager Level Access in Power BI 

 

Hope it helps,


Community Support Team _ Caitlyn

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

View solution in original post

3 REPLIES 3
v-xiaoyan-msft
Community Support
Community Support

Hi @freak ,

 

It sounds like you need an RLS setup with hierarchy.
You could try using Dynamic Row Level Security with Manager Level Access in Power BI.

 

The very first step is always identifying who is the person logged into the report in Power BI Service. This can be done with Username() or UserPrincipalName() functions in DAX.

We can use a DAX expression to identify is the person logged in, a manager or not. This can be done with a simple MAXX expression.

 

For more information,you can refer to:Dynamic Row Level Security with Manager Level Access in Power BI 

 

Hope it helps,


Community Support Team _ Caitlyn

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

freak
New Member

Yes this works, but i want more 🙂

 

When i use [principalName] = USERPRINCIPALNAME(), user1 see only data from user1. user1 should see data from company1, as well from user2 but not from user3 and 4

 

amitchandak
Super User
Super User

@freak , In role you can add filter

 

[principalName] = USERPRINCIPALNAME()

 

Is this expression not working ?

 

How to use Row Level Security (RLS): https://youtu.be/NfdIA0uS6Nk

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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