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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Row level security (preview) with multiple tables (having many to one relationship)

Hi All,

 

I am exploring RLS(preview) on service with multiple tables (join - many to one). I have 2 tables having cluster common.

 

Table -1 : Cluster (Many side in Many to one relationship)

Table -2 : Cluster (One side in Many to one relationship

 

When I applied RLS using - [Cluster] = "XXX" on Table - 1, it is filtering only in Table -1. I can see all other cluster in Table -2 (no impact on table 2 inspite of relationship).

However, When I applied RLS using - [Cluster] = "XXX" on Table - 2 , it is filtering on both the tables.

 

Can someone guide me on this behaviour? Is this a limitation with current Preview version or something I am missing?

 

Regards,

Niket Talati

11 REPLIES 11
ankitpatira
Community Champion
Community Champion

@Anonymous This question is more related about relationships in power bi desktop than service I believe. In power bi desktop in relationship view, edit relationship and check cross filter direction is set to Both. 

Anonymous
Not applicable

Hi Ankit,

 

Thanks For the response.

 

Actually RLS is a feature of Service so I put my question here. Cross filter direction is set to both and as I said in the descirption that issue is with Many to One (when RLS apply on Many side table) relationship. With One to many, its working fine.

 

Regards,

Niket Talati

Hi @Anonymous,

I test the whole scenario as yours, Row level security(RLS) works as expected on both Many side table and One side table.

Could you please share sample data of your tables? I would check that if I can reproduce the RLS issue with your data. In addition, I will appreciate it if you elaborate detailed steps about that how you manage the relationship in Power BI Desktop and how you apply RLS in the dataset.

Thanks,
Lydia Zhang

Community Support Team _ Lydia Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

Hi @v-yuezhe-msft,

 

Below are table-1 (Access) and table-2 (Pie chart data) screenshot with relationship on Cluster field.

Access TableAccess TablePie Chart DataPie Chart Data

RelationshipRelationshipRLS on serviceRLS on serviceResult of RLSResult of RLS

 

Please use this and let me know if you could reproduce the issue.

 

Regards,

Niket Talati

Anonymous
Not applicable

Hi Guys,

 

Any help on this issue?

 

Regards,

Niket Talati

@Anonymous, I can reproduce your issue and I will reported it internally. I will reply back once I get any updates. 

Anonymous
Not applicable

@Vicky_Song, Thank you for your response. I hope it will resolve soon.

@Anonymous, sorry for the late response. I got an update from our product team that the behavior described in your screnario is by desgin. 

 

Your tables without RLS have this data:

RLS1.png

However you have a relationship (1:Many), which actually states that any [Cluster] value in Access table should have a value In Pie Chart Data table.

RLS2.png

When you applying RLS ([Cluster]=”Greater China”) on Pie Chart Data table it applies also on the Access table, otherwise you will have a relationship violation for that role.

RLS3.png

 

Anonymous
Not applicable

Hi @Vicky_Song,

 

Sorry for the late reply. Yes, when I apply RLS on "Pie chart data", its working and its filtering both tables. But however, it is not working when we apply on "Access" table. I have bi-directional filter on the relationship so it should work on both the ways.

 

I think this should be fixed since it is quite confusing to understand. Please let me know if it is possible to fix.

 

Regards,

Niket Talati

Hello,

 

I am curious if there was a resolution to this, as I am having a similar issue.  If so, could you please provide some additional details?

 

Thank you,

 

Michael

I read the original issue differently to this reponse and have the same issue.

 

A model has four four tables with relationships 1:1, 1:1, 1:Many and Many:1. All have two way joins. The first three are all restricted when row level security is implemented against a username in the first table, however the fourth table with the Many:1 relationship is not. 

 

When chosing to manually filter data using the same field that row level security is implemented against, the fourth table with the Many:1 relationship is filtered.

 

Is this the intended behaviour, as it appears inconsistent?

 

Thanks

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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

Top Solution Authors
Top Kudoed Authors