Forum Discussion
Filtering a semantic model
- 1 year ago
Please read about Row Level Security (RLS) and about app audiences.
- Anonymous1 year ago
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.
Please read about Row Level Security (RLS) and about app audiences.
- KBD1 year ago
Helper III
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
- lbendlin1 year ago
Super User
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.