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

Data Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more

Reply
WilliamA
Helper I
Helper I

Power BI RLS with multiple values

Hi all,

 

I am struggling with implementing RLS  across multiple fields/tables when there are multiple records for the same user. 

My security table looks like the following

UserID  Division   Area   Sub  Module Report

User1AustraliaNSWAllA1001
User1AustraliaQLDAllA1001
User1AustraliaQLDAllA1002
User2AllAllAllBAll

 

The field names are all seperate tables in my report and my role statement is as below - 

var _Restriction =
CALCULATETABLE(
VALUES('Security'[Division]),
'Security'[UserID] =USERPRINCIPALNAME()
)
Return
SWITCH(
TRUE(),
_Restriction = "All", TRUE(),
[Division] = _Restriction,TRUE(),
FALSE()
)

the above is applied to all required tables. This works fine when there is only one record for each user but as you can see from the table above, a user can belong to different groups with different access.

How can I implement RLS based on the above table?

1 ACCEPTED SOLUTION
parry2k
Super User
Super User

@WilliamA I think you need to change 2nd condition:

 

var _Restriction =
CALCULATETABLE(
VALUES('Security'[Division]),
'Security'[UserID] =USERPRINCIPALNAME()
)
Return
SWITCH(
TRUE(),
"All" in _Restriction, TRUE(),
[Division] in _Restriction,TRUE(),
FALSE()
)


Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

View solution in original post

1 REPLY 1
parry2k
Super User
Super User

@WilliamA I think you need to change 2nd condition:

 

var _Restriction =
CALCULATETABLE(
VALUES('Security'[Division]),
'Security'[UserID] =USERPRINCIPALNAME()
)
Return
SWITCH(
TRUE(),
"All" in _Restriction, TRUE(),
[Division] in _Restriction,TRUE(),
FALSE()
)


Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.