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
ruicaio
Frequent Visitor

Power BI Security Roles

Hi.

I don’t know if there is a bug or if it is supposed to work like that.

If I create a Security Role over a table inside Power Bi Desktop that filters the data it works well. I only see the records that pass the DAX filter expression from that Role.

What I think that is not supposed to happen is that if in the model I create a “Virtual Table” using DAX (VTable = Filter(TABLE; TABLE[Field] = “something”),where TABLE is the table where the SECURITY role is applied, the result pass over the security that is applied to the TABLE.

 

Example here

2 ACCEPTED SOLUTIONS
Daniil
Kudo Kingpin
Kudo Kingpin

This is by design. If you try to use RLS in calculated columns or calculated tables, it will not work as you expect, because RLS is applied at query time, and calculated columns and calculated tables are evaluated at data refresh time, which is before any query time.

View solution in original post

v-qiuyu-msft
Community Support
Community Support

Hi @ruicaio,

 

It is supposed to work like that. The calculated table vTABLE = FILTER('TABLE','TABLE'[Column1] <> "VALUE1") data will not change until the TABLE raw data change. As the Security role is filtering table TABLE and there is no relationship between table TABLE and vTABLE, vTABLE values will not be affected by the role.

 

If you want the vTABLE to be filtered by this Securoty role as well, you need to create a relationship between these two tables. 

 

q3.PNGq4.PNG

 

 

Best Regards,
Qiuyun Yu 

Community Support Team _ Qiuyun Yu
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

2 REPLIES 2
v-qiuyu-msft
Community Support
Community Support

Hi @ruicaio,

 

It is supposed to work like that. The calculated table vTABLE = FILTER('TABLE','TABLE'[Column1] <> "VALUE1") data will not change until the TABLE raw data change. As the Security role is filtering table TABLE and there is no relationship between table TABLE and vTABLE, vTABLE values will not be affected by the role.

 

If you want the vTABLE to be filtered by this Securoty role as well, you need to create a relationship between these two tables. 

 

q3.PNGq4.PNG

 

 

Best Regards,
Qiuyun Yu 

Community Support Team _ Qiuyun Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Daniil
Kudo Kingpin
Kudo Kingpin

This is by design. If you try to use RLS in calculated columns or calculated tables, it will not work as you expect, because RLS is applied at query time, and calculated columns and calculated tables are evaluated at data refresh time, which is before any query time.

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.