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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

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
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.