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

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
Hazzzy
Regular Visitor

Dynamic Row Level Security with different access level for different reports

I have a semantic model in Power BI where I have two data tables: Sales and P/L. I also have two dimension tables: Market and User.

The Market dimension table is mapped to both Sales and P/L data tables.

 

I need to set up dynamic row level security where user access should be based on the following:

P/L: User will only see data for the market they are responsible for.

Sales: Users will see sales for all the markets except one.

 

What's the best way to implement this? Any help would be highly appreciated! 

1 ACCEPTED SOLUTION
v-sgandrathi
Community Support
Community Support

Hi @Hazzzy,

Thank you for reaching out to the Microsoft Fabric Community!

 

Based on your requirements, you can achieve Dynamic Row-Level Security (RLS) by defining two different security rules within Power BI:

  • This can be achieved by filtering the MarketID in the P/L table based on the user’s assigned market from the User table.
  • This can be implemented by applying a negative filter that excludes the restricted market from the user's access.

Suggested Approach:
Ensure that your User table contains information about the markets each user has access to (e.g., ResponsibleMarket and ExcludedMarket).
Implement Dynamic RLS filters using DAX within the Power BI Manage Roles feature:

  • For P/L: Apply a filter so users only see data for ResponsibleMarket.
  • For Sales: Apply a filter to exclude ExcludedMarket from the accessible data.

Since the Market dimension is linked to both Sales and P/L tables, the RLS filters applied on MarketID should propagate to the fact tables accordingly.

 

Please Accept as solution if this meets your needs and a Kudos would be appreciated.

Thank you.

View solution in original post

2 REPLIES 2
v-sgandrathi
Community Support
Community Support

Hi @Hazzzy,

Thank you for reaching out to the Microsoft Fabric Community!

 

Based on your requirements, you can achieve Dynamic Row-Level Security (RLS) by defining two different security rules within Power BI:

  • This can be achieved by filtering the MarketID in the P/L table based on the user’s assigned market from the User table.
  • This can be implemented by applying a negative filter that excludes the restricted market from the user's access.

Suggested Approach:
Ensure that your User table contains information about the markets each user has access to (e.g., ResponsibleMarket and ExcludedMarket).
Implement Dynamic RLS filters using DAX within the Power BI Manage Roles feature:

  • For P/L: Apply a filter so users only see data for ResponsibleMarket.
  • For Sales: Apply a filter to exclude ExcludedMarket from the accessible data.

Since the Market dimension is linked to both Sales and P/L tables, the RLS filters applied on MarketID should propagate to the fact tables accordingly.

 

Please Accept as solution if this meets your needs and a Kudos would be appreciated.

Thank you.

Hi @Hazzzy,

 

I wanted to follow up on our previous suggestions regarding the issue. We would love to hear back from you to ensure we can assist you further.

If our response has addressed your query, please accept it as a solution and give a ‘Kudos’ so other members can easily find it. Please let us know if there’s anything else we can do to help.

 

Thank you.

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

60 days of Data Days Carousel

Data Days 2026

Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

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.