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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
isalcedo2002
New Member

Filtering a semantic model

Hello,

 

We have a project where we need to make dashboards for different people in the company.

The first one is for the top boss, who wants to see the general information for all the verticals.

The next ('child') is for the leaders of each vertical, and the final one for the end-client.

 

What we have done is in the first one, input all the data from our databases and for the second one (the child), import the semantic model of this first one and in this one add some excel files we have for the specific vertical, and the same for the next level which is end-client. The point in doing this is that, eventually the plan is to have a dashboard for each vertical (there are many), and a dashboard for each end-client (which are even more), and everytime we make a change, all the "children" and "granchildren" will have them as well and not have to do each change manually. 

 

The problem is we would like to filter the semantic model when importing it to the next powerbi, so that we only import the data from that vertical and the data from other verticals is not available.

Is it possible?

2 ACCEPTED SOLUTIONS
lbendlin
Super User
Super User

Please read about Row Level Security (RLS) and about app audiences.

View solution in original post

Anonymous
Not applicable

Hi @isalcedo2002 ,

 

Agree with lbendlin, the row level security is designed for this.

Here're some blogs for you to better understand and practice.

Row-level security (RLS) guidance in Power BI Desktop - Power BI | Microsoft Learn

Dynamic Row Level Security with Power BI Made Simple - RADACAD

Dynamic Row Level Security with Manager Level Access in Power BI - RADACAD

 

Best Regards,

Stephen Tao

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 

View solution in original post

4 REPLIES 4
Anonymous
Not applicable

Hi @isalcedo2002 ,

 

Agree with lbendlin, the row level security is designed for this.

Here're some blogs for you to better understand and practice.

Row-level security (RLS) guidance in Power BI Desktop - Power BI | Microsoft Learn

Dynamic Row Level Security with Power BI Made Simple - RADACAD

Dynamic Row Level Security with Manager Level Access in Power BI - RADACAD

 

Best Regards,

Stephen Tao

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 

lbendlin
Super User
Super User

Please read about Row Level Security (RLS) and about app audiences.

Hello  Ibendlin:

 

The above situation where data access needs to be restricted for various audiences is a situation I have to deal with also.  

 

One answer pointed here:  Row-level security (RLS) guidance in Power BI Desktop - Power BI | Microsoft Learn

Reading through this link I find this:  

When to avoid using RLS

Sometimes it makes sense to avoid using RLS. If you have only a few simplistic RLS rules that apply static filters, consider publishing multiple semantic models instead. None of the semantic models define roles because each semantic model contains data for a specific report user audience, which has the same data permissions. Then, create one workspace per audience and assign access permissions to the workspace or app.

The filtering is simple Operations only sees Operations data, Accounting only see Accounting data and A/P only see A/P data.  Simple.

 

Semantic Model  -->      S/M - Accounting   filtered for Accounting 

all data                |

                            ---->   S/M - A/P  filtered for A/P

                            |

                            ---->   S/M - Operations

                             |

                             -------->   maybe ten more

 

Would you be kind enough to provide pointers on how to set up the above?

 

Thanks for your attention to this matter.

 

KD

The filtering is simple Operations only sees Operations data, Accounting only see Accounting data and A/P only see A/P data.  Simple.

The real question is - Does it matter if they see each other's data?  If it doesn't matter thne all you have to do is teach your users how to set their own filters.  That would be the least maintenance effort for you.

 

RLS should only be used if they absolutely should not see each other's data.

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.