Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
Hi everyone,
Has anyone ever experienced performance issues (in terms of interactivity between the report consumer and the report) when using a shared semantic model to build multiple reports?
If you know of any document or case study that analyzes a scenario like this, please share it.
Thank you very much.
Solved! Go to Solution.
the number of reports sharing the same model is not a problem per se.
We have dozens of report sharing the same Model on multiple customers' scenarios.
As @GilbertQ said you must follow best practice when you design it:
- star-schema
- import mode preferred
- import only needed data (3 milion rows is not a big deal, 56 columns... do you really need of all them?)
- use correct data types
- pay attention to DAX you write in measures
- do not put too much visual in the same page because each of them will rise a query against the model (or use visuals that optimize this like multiple-row card instead of 50 cards for example)
- etc...
Hi @bdpr_95 ,
Thank you for reaching out to Microsoft fabric community.
Below are important Microsoft documentation links that cover performance considerations and solutions for shared semantic models in Power BI:
Semantic Model Scale-Out
This feature directs user queries to read-only replicas, which helps boost concurrency and reduces contention on the main dataset.
Optimization Guide for Power BI
This guide discusses optimization across different layers, including source systems, data models, visuals, and capacity settings. It also provides advice on semantic model settings, storage modes (Import, DirectQuery, Composite), and best practices.
Semantic Model Modes in Power BI Service
Describes how performance differs between Import, DirectQuery, and Composite storage modes for live or shared datasets.
Large Semantic Models in Premium
Offers guidance for managing large shared datasets (over 1 GB), including enabling large storage format, incremental refresh, and in-memory performance optimization.
Incremental Refresh for Semantic Models
This feature improves resource efficiency and refresh times by only updating recent partitions rather than reloading the entire dataset.
Best Practices for Embedded Analytics Performance
While focused on embedded scenarios, these best practices illustrate how visuals, queries, and dataset schemas can impact interactivity.
Best practices for faster performance in Power BI embedded analytics (Microsoft Learn)
Regards,
Sreeteja
Hi @bdpr_95 ,
I hope the information provided above assists you in resolving the issue. If you have any additional questions or concerns, please do not hesitate to contact us. We are here to support you and will be happy to help with any further assistance you may need.
Hi @bdpr_95
I have built shared semantic models for multiple customers and never experienced any performance issues. The only reason performance issues can come in is if potentially the model is not created in a star schema. Best practices haven't been done and the DAX isn't fully optimized, but could potentially be that the slowness is due to some performance issues on the semantic model.
Hi @GilbertQ,
Thank you very much for the information. I'm considering using a semantic model to develop five different reports, and I wanted to understand whether I might face any performance issues in terms of interactivity.
In terms of the data model, we're using a star schema: one calendar table, one currency table, and a fact table. The fact table has around 3 million rows and 56 columns.
Do you think I could run into any problems?
the number of reports sharing the same model is not a problem per se.
We have dozens of report sharing the same Model on multiple customers' scenarios.
As @GilbertQ said you must follow best practice when you design it:
- star-schema
- import mode preferred
- import only needed data (3 milion rows is not a big deal, 56 columns... do you really need of all them?)
- use correct data types
- pay attention to DAX you write in measures
- do not put too much visual in the same page because each of them will rise a query against the model (or use visuals that optimize this like multiple-row card instead of 50 cards for example)
- etc...
| User | Count |
|---|---|
| 33 | |
| 30 | |
| 25 | |
| 13 | |
| 12 |