Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet 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
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
The RLS tables relationships for above low performance is:
After implementing dax for RLS, We tested this in desktop through Perofrmance Analyser which has made a great difference as shown below:
The modified RLS tables relationships for above performance is:
The dax we used for above relationship is as below:
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
Solved! Go to Solution.
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.
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!
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
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!
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.
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!
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
92 | |
86 | |
84 | |
66 | |
49 |
User | Count |
---|---|
140 | |
114 | |
108 | |
64 | |
60 |