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!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
I have a cost code column and a Email ID column. User should get the access of cost code against the email ID and in case of * against the email id user to should have access to all the cost code.
| Costcode | Email-ID |
| 12365 | abc@outlook.com |
| 87907 | bcd@outlook.com |
| 26543 | abc@outlook.com |
| * | bgy@outlook.com |
| 283920 | bcd@outlook.com |
bgy@outlook.com should have access to all the cost code.
Solved! Go to Solution.
@Anonymous , refer if this can help
Power BI- Row Level Security: Handle ALL, UserPrincipalName: https://youtu.be/KVLEnIUo4pc
I am assuming you are filtering another table that has data by cost code. You would apply a filter to that table by reading from the UserAccess table like this.
VAR _UPN = USERPRINCIPALNAME()
RETURN
IF (
LOOKUPVALUE (
UserAccess[Costcode],
UserAccess[Email-ID], _UPN,
UserAccess[Costcode], "*"
) = "*",
TRUE,
'Table'[CostCode]
= LOOKUPVALUE (
UserAccess[Costcode],
UserAccess[Email-ID], _UPN,
UserAccess[Costcode], 'Table'[CostCode]
)
)
I have attached my sample file for you to look at. You can test the RLS by using View As on the modeling ribon
You can see that bgy can see all rows:
but bcd can only see the subset he is assigned to
@Anonymous , refer if this can help
Power BI- Row Level Security: Handle ALL, UserPrincipalName: https://youtu.be/KVLEnIUo4pc
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 38 | |
| 38 | |
| 37 | |
| 28 | |
| 27 |
| User | Count |
|---|---|
| 124 | |
| 89 | |
| 73 | |
| 66 | |
| 65 |