The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
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.