Forum Discussion

Gopal_PV's avatar
Gopal_PV
Icon for Helper III rankHelper III
1 month ago
Solved

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 Others 

  • 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.

     

4 Replies

  • 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 

  • 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's avatar
    v-saisrao-msft
    Icon for Community Support rankCommunity 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.