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
Need help, community.
I'm doing something wrong and I can't find what.
I want to set RLS based on the RVP email.
Here is what I have as relations:
I'm adding this to the modeling role at User table level -
Solved! Go to Solution.
USERPRINCIPALNAME() returns the User ID and not email ID - Please cross check the value returned by this function by creating a measure.
Refer to the video below incase you need to know how to setup RLS.
Create Row Level Security (RLS) to restrict access in PowerBI | MiTutorials (youtube.com)
Hi @knikolova - you need to ensure that the relationships between your tables are correctly set up and the DAX expression for the RLS is properly applied.
Check the model and relationship:
Example : the sales table should have a relationship with the User table based on the RVP Email field.
In manage roles too Go to the Modeling tab and select Manage Roles.
Step1: Create a new role, like RLS_RVPE
Step2: Add a DAX filter to the user table: [RVP Email] = USERPRINCIPALNAME().
Check these basic steps and test it in power bi desktop itself by using view as a role. if the data is getting filtered based on the user email id or not.
Refer this video, implementing Dynamic RLS
Dynamic Row Level Security in Power BI (youtube.com)
Did I answer your question? Mark my post as a solution! This will help others on the forum!
Appreciate your Kudos!!
Proud to be a Super User! | |
Hi @knikolova - you need to ensure that the relationships between your tables are correctly set up and the DAX expression for the RLS is properly applied.
Check the model and relationship:
Example : the sales table should have a relationship with the User table based on the RVP Email field.
In manage roles too Go to the Modeling tab and select Manage Roles.
Step1: Create a new role, like RLS_RVPE
Step2: Add a DAX filter to the user table: [RVP Email] = USERPRINCIPALNAME().
Check these basic steps and test it in power bi desktop itself by using view as a role. if the data is getting filtered based on the user email id or not.
Refer this video, implementing Dynamic RLS
Dynamic Row Level Security in Power BI (youtube.com)
Did I answer your question? Mark my post as a solution! This will help others on the forum!
Appreciate your Kudos!!
Proud to be a Super User! | |
USERPRINCIPALNAME() returns the User ID and not email ID - Please cross check the value returned by this function by creating a measure.
Refer to the video below incase you need to know how to setup RLS.
Create Row Level Security (RLS) to restrict access in PowerBI | MiTutorials (youtube.com)
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!