Forum Discussion
Performance Optimization for Power BI Row Level Security Model
- 1 year ago
Hi sumanthkakarla,
We sincerely apologize for the inconvenience caused.
As the issue remains unresolved, we kindly request you to raise the matter at Issues - Microsoft Fabric Community for investigation. Alternatively, you may raise a Microsoft support ticket using the link provided below. They will be able to offer specific insights related to your account and potential resolutions.
Microsoft Fabric Support and Status | Microsoft Fabric
If you find our response helpful, we would appreciate it if you could mark it as the accepted solution and provide kudos. This will assist other community members who may be facing similar queries.
Thank you.
Hi sumanthkakarla,
Thank you for your inquiry through the Microsoft Fabric Community Forum.
Implementing Row-Level Security (RLS) in Power BI for a large user base necessitates careful optimisation to maintain performance. Kindly follow the steps outlined below to enhance efficiency:
- Establish relationships using integer keys instead of strings for efficient joins.Since this has already been implemented, you are on the right track.
-
Instead of using MAXX and FILTER, consider a more direct approach, as illustrated below:
'NEW_ACCOUNT_MAP'[USERNAME] = USERPRINCIPALNAME() || 'NEW_ACCOUNT_MAP'[CLIENT_ACCOUNT_NUMBER] = "ALL"
This expression verifies whether the logged-in user has access to specific accounts or all accounts directly, thereby reducing computational overhead. - If high granularity is unnecessary, aggregate data before importing to reduce processing load.
- Measures are computed on demand, making them more efficient than calculated columns. Additionally, simplify DAX expressions to minimise the use of complex filters and calculations within measures.
- Regularly track usage and assess user concurrency to prevent performance issues.
For further reference, please visit:
Row-level security (RLS) guidance in Power BI Desktop - Power BI | Microsoft LearnIf this response is helpful, kindly mark it as the accepted solution and provide kudos to assist other community members.
Thank you.
- sumanthkakarla1 year agoHelper II
v-pnaroju-msft , to avoing many to many relationship i tred the brige table, somehow this is also not working, not sure whats wrong with my data model, userlookup( al distinct users) filter bridge table for a given login user, bridge table should filter client_lookup( distinct client account numebrs), client_lokup should filter the fact table for those users acccessed accounts data, please note i am giving Dynamic RLS as this on user_lookup table , whats worng with my data model ? why i amnot able to see when i apply Dynamic RLS ?