Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
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
| User1 | Australia | NSW | All | A | 1001 |
| User1 | Australia | QLD | All | A | 1001 |
| User1 | Australia | QLD | All | A | 1002 |
| User2 | All | All | All | B | All |
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?
Solved! Go to Solution.
@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.
@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.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 62 | |
| 55 | |
| 39 | |
| 16 | |
| 15 |
| User | Count |
|---|---|
| 93 | |
| 85 | |
| 33 | |
| 31 | |
| 25 |