Forum Discussion
What is Best Source Model apporach From Dynamic crm Datavese to Power BI
HI Gopal_PV,
Your approach connecting directly with CRM schema is not the recommended in this case, as CRM is built for Transactional workload not for analyticals workload, the best solution is using star schema model here.
if you are using fabric then follow this pattern,Dataverse --> Fabric Lakehouse (Bronze) --> Lakehouse/Warehouse (Silver) --> Gold Star Schema -->Power BI Semantic Model
If this helps, ✓ Mark as Kudos | Help OthersHi Gopal_PV
I would not choose between “one huge model for everything” and “a separate model for every report.” Usually, the best approach is somewhere in the middle.
If the reports use the same Dataverse tables, relationships, measures and business logic, keep one shared semantic model and connect multiple thin reports to it. This avoids duplicating the same data and calculations in several PBIX files.
At the same time, the shared model should not contain every Dataverse column just because it may be needed someday. Remove unused columns, filter unnecessary rows, review high-cardinality fields such as IDs and long text columns, and organize the model as a proper star schema where possible. This should reduce both refresh time and model size.
I would create a separate model only when there is a real reason, for example:
a different business domain;
different security requirements;
a different refresh schedule;
very different data volumes or performance needs;
different ownership or maintenance responsibility.So, based on your diagram, I would first optimize the existing CRM model and keep the reports connected to it as thin reports. I would not create a separate model for every report unless the reports are genuinely unrelated.
I would also avoid downloading the production PBIX every time a change is required. It is safer to maintain a development version and promote tested changes to production.
If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly.
4 Replies
- Murtaza_Ghafoor
Super User
HI Gopal_PV,
Your approach connecting directly with CRM schema is not the recommended in this case, as CRM is built for Transactional workload not for analyticals workload, the best solution is using star schema model here.
if you are using fabric then follow this pattern,Dataverse --> Fabric Lakehouse (Bronze) --> Lakehouse/Warehouse (Silver) --> Gold Star Schema -->Power BI Semantic Model
If this helps, ✓ Mark as Kudos | Help Others - Ritaf1983
Super User
Hi Gopal_PV
I would not choose between “one huge model for everything” and “a separate model for every report.” Usually, the best approach is somewhere in the middle.
If the reports use the same Dataverse tables, relationships, measures and business logic, keep one shared semantic model and connect multiple thin reports to it. This avoids duplicating the same data and calculations in several PBIX files.
At the same time, the shared model should not contain every Dataverse column just because it may be needed someday. Remove unused columns, filter unnecessary rows, review high-cardinality fields such as IDs and long text columns, and organize the model as a proper star schema where possible. This should reduce both refresh time and model size.
I would create a separate model only when there is a real reason, for example:
a different business domain;
different security requirements;
a different refresh schedule;
very different data volumes or performance needs;
different ownership or maintenance responsibility.So, based on your diagram, I would first optimize the existing CRM model and keep the reports connected to it as thin reports. I would not create a separate model for every report unless the reports are genuinely unrelated.
I would also avoid downloading the production PBIX every time a change is required. It is safer to maintain a development version and promote tested changes to production.
If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly.
- v-saisrao-msft
Community Support
Hi Gopal_PV,
Have you had a chance to review the solution shared by Murtaza_Ghafoor,Ritaf1983? If the issue persists, feel free to reply so we can help further.
Thank youu
- v-saisrao-msft
Community Support
Hi Gopal_PV,
Checking in to see if your issue has been resolved. let us know if you still need any assistance.
Thank you.