Forum Discussion

tomperro's avatar
tomperro
Helper V
1 year ago
Solved

Best Practice for Data and Semantic Models

We have multiple data sources, Saleforce, excel and other databases.  Currently, we have created semantic models based on the need of the report needed at the time.  This has cause many reports to co...
  • burakkaragoz's avatar
    1 year ago

    Hi tomperro ,

     

    Yeah, this is a super common situation — especially when reports are built ad-hoc and semantic models grow organically over time.

    Here are a few best practices you might want to consider:

    1. Centralize your semantic models

    Instead of building a new model for each report, try to create shared, reusable semantic models (aka “golden datasets”) in the Power BI Service. These can be:

    • Refreshed once daily
    • Certified or promoted for team-wide use
    • Used by multiple reports via live connection, so you avoid duplicating data pulls

    2. Use Power BI Dataflows

    If you’re not using Lakehouse and want to avoid extra cost:

    • Dataflows let you extract, transform, and load (ETL) data from sources like Salesforce, Excel, etc.
    • You can refresh them once a day and reuse the cleaned data across multiple datasets
    • They run in the Power BI Service and don’t require extra licensing (unless you go Premium)

    3. Minimize direct source hits

    If multiple reports are hitting Salesforce or other APIs directly, it can cause throttling or performance issues. Use:

    • Dataflows or
    • A single staging dataset that pulls once and feeds others

    4. Document and standardize

    Start documenting which reports use which sources and models. This helps you consolidate and reduce redundancy over time.

    Let me know if you want help setting up a shared model or dataflow strategy — happy to walk through it.

    If my response resolved your query, kindly mark it as the Accepted Solution to assist others. Additionally, I would be grateful for a 'Kudos' if you found my response helpful.


    This response was supported by AI for translation and text editing.