Forum Discussion
Best Practice for Data and Semantic Models
- 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.
Hi tomperro ,
Thank you for reaching out to the Microsoft Fabric Community. Also thank you MasonMA , burakkaragoz and lbendlin for you insights.
Just to clarify, Power BI Dataflows are mainly used for getting and preparing data, but they don’t support creating DAX measures. This is because dataflows only handle the data part and don’t have a modeling layer where you can define calculations like measures. If you want to create shared measures that others can use across different reports, the best approach is to first connect your dataflows to a Power BI Desktop file (PBIX), create your DAX measures there, and then publish that file to the Power BI Service. Once published, others can connect to this dataset using a live connection, and they’ll be able to use all the measures you’ve already built without having to create them again. This helps keep everything consistent and easier to manage.
Hope this helps. Please reach out for further assistance.
If this post helps, then please consider to Accept as the solution to help the other members find it more quickly and a kudos would be appreciated.
Thank you.