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

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

Reply
sivarajan21
Post Patron
Post Patron

How to track the RLS performance in embedded

Hi,

 

We have Power BI embedded. We have been updating our RLS to use DAX, as opposed to relying on bi-directional relationships etc in our model to increase perofrmace.

The performance while using bi-directional as below

sivarajan21_2-1700639954366.png

The RLS tables relationships for above low performance is:

sivarajan21_3-1700640058993.png

 

 

After implementing dax for RLS, We tested this in desktop through Perofrmance Analyser which has made a great difference as shown below:

sivarajan21_4-1700640119142.png

 

The modified RLS tables relationships for above performance is:

sivarajan21_1-1700639878763.png

 

The dax we used for above relationship is as below:

sivarajan21_5-1700640274494.png

 

However, when the report is published to service and accessed through embedded, performance is particularly poor and seems worse than before the improvements!

 

We read some articles from microsoft on below

Best practices for faster performance in Power BI embedded analytics - Power BI | Microsoft Learn

But we don't how to implement it, 'loaded event' and 'rendered event'. Also, I couldn't  find any practical illustration/demo for above article/RLS in embedded

 

Any thoughts on why this could be and are there any services that allow monitoring of embedded performance to try and diagnose why this could be?

 

Thanks in advance!

@Ahmedx @amitchandak @marcorusso @Greg_Deckler 

1 ACCEPTED SOLUTION
marcorusso
Most Valuable Professional
Most Valuable Professional

You should not rely only on Performance Analyzer results, because you are not considering whether the storage engine cache is used or not in the two cases. You should analyze the performance with DAX Studio impersonating the user and the role required. THe right approach is a big "it depends" and there are many things to consider. Potentially, the M2M approach could be way faster, but - it depends!

There is an entire section on Optimizing DAX Video Course - SQLBI that describes how to analyze and optimize security.

View solution in original post

8 REPLIES 8
marcorusso
Most Valuable Professional
Most Valuable Professional

This kind of analysis usually requires access to the live model (and dedicated quality time - not something we can do on a public forum). The VPAX file can be analyzed by tools such as www.daxoptimizer.com, but that service currently don't analyze the impact of RLS, so it would not be directly useful for that.

Hi @marcorusso 

 

Thanks for your quick response and your patience towards answering my questions!

Me and my team will enroll in your course and learn these things😊

I will close this query and accept your solution

Just to confirm,Is dax optimizer a free source ?

 

Thanks!

marcorusso
Most Valuable Professional
Most Valuable Professional

DAX Optimizer is a commercial product. It is now at a discount because it is in beta. However, you can save time and money for your model because the issues that DAX Optimizer would find are unimportant and unrelated to the performance issue you are experiencing.

Hi @marcorusso 

 

Thanks for the genuine and quick response!

Please let me know if you need anything from my side in future and am happy to help!😊

 

Thanks

marcorusso
Most Valuable Professional
Most Valuable Professional

The large materialization is likely to be responsible. A solution requires a deeper review of data model and requirements, I'm not able to quickly help here, sorry!

Hi @marcorusso ,

 

Many thanks for your quick response!

Also, thank you so much for giving me lead on optimizing dax video course! planning to enroll in course.

Below is my vpax file, I am not sure whether this will help or not to find the problems in my report.

PFA PR-419 - Data Coverage RLS Update_high performance.vpax

 

Thanks in advance!

@marcorusso @Ahmedx 

marcorusso
Most Valuable Professional
Most Valuable Professional

You should not rely only on Performance Analyzer results, because you are not considering whether the storage engine cache is used or not in the two cases. You should analyze the performance with DAX Studio impersonating the user and the role required. THe right approach is a big "it depends" and there are many things to consider. Potentially, the M2M approach could be way faster, but - it depends!

There is an entire section on Optimizing DAX Video Course - SQLBI that describes how to analyze and optimize security.

Hi @marcorusso ,

 

Thanks for your quick response!

I have run the Dax studio to find the what is causing the issue and found this server timings.

sivarajan21_0-1700648518147.png

 

But I am unable to figure out exactly where the problem is and what remedy should be taken.

please advise me on this?

 

Thanks in advance!

@marcorusso 

 

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

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

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

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