Power BI dataflow vs semantic model: two layers, two jobs
Dataflow vs semantic model in Power BI is a comparison of two layers that often work together. A dataflow runs Power Query in the service and stores cleaned tables for reuse. A semantic model holds tables, relationships and DAX measures, and reports read from it. So one prepares data and the other gives it meaning. Most mature setups use both, each for its own purpose.
- Prepare once, reuse often
- Measures live in the model
- Both layers, one design
Last updated
Power BI dataflow vs semantic model: what is each one for?
A dataflow is a preparation tool. An author builds queries in Power Query Online, and the service runs them on a schedule. The output is a set of tables that other people can connect to. Microsoft describes the aim as reusable transformation logic that many models can share.
A semantic model is the analysis layer. It contains tables, the relationships between them and the measures that define each figure. Then every report, and Excel too, reads that one model.
In short, a dataflow has no relationships or measures, and a report cannot sit directly on it. A semantic model can do its own preparation, but that logic stays inside the one model.

How do a Power BI dataflow and a semantic model differ?
The table sums up the roles in general terms.
| Area | Dataflow | Semantic model |
|---|---|---|
| Main job | Prepare and store clean tables | Model data and define measures |
| Where authors build | Power Query Online in the service | Power BI Desktop or the service |
| Language | Power Query M | DAX, plus Power Query for loading |
| Relationships | Not part of a dataflow | Defined between tables |
| Measures | Not part of a dataflow | Written in DAX |
| Who consumes it | Semantic models and other dataflows | Reports, dashboards and Excel |
| Refresh | Its own schedule | Its own schedule |
When does a dataflow earn its place?
A dataflow helps when several models need the same table. For example, a customer list or a calendar often appears in many models. When one dataflow prepares it, each model connects to the result. So a fix happens once.
It also protects source systems. Microsoft notes that dataflows let report creators work from prepared data instead of the underlying sources. Therefore fewer people need database credentials, and the source sees fewer queries.
However, a dataflow adds a second refresh to coordinate. The dataflow must finish before the models that depend on it start. When only one model uses a table, that extra step rarely pays off.
What about Dataflow Gen1 and Dataflow Gen2?
Two generations exist, and the difference matters for planning. The original Power BI dataflow is now called Gen1. Microsoft states that Gen1 is in a legacy state and will not receive new feature investment.
Dataflow Gen2 belongs to Microsoft Fabric. Microsoft recommends it for Premium customers with Fabric access. It can also write its output to a destination such as a lakehouse or a warehouse.
For Pro and Premium Per User customers, Microsoft says they can continue to use Gen1 while guidance for those cases evolves. So the right choice depends on your license. We check Microsoft's current article before we advise, because this area still changes. For a step-by-step look at building one, see the Power BI dataflows guide, and for help writing the queries themselves, see Power Query consulting.
Signs a Power BI dataflow vs semantic model split will help
When three or more of these six signs apply, a separate preparation layer is worth a look.
- Several models repeat the same cleaning steps
- Two reports disagree on a shared dimension
- Many authors hold source database passwords
- One slow source delays every model refresh
- A central team owns the data definitions
- New models start from copied queries
Dataflow vs semantic model: questions from authors
Can a report connect straight to a dataflow?
Not directly. A report needs a semantic model underneath it. So an author first connects Power BI Desktop to the dataflow tables, which creates a model, and then builds visuals on that. The dataflow acts as a source, much as a database would, while the model carries the relationships and measures.
Should transformations live in the dataflow or in the model?
Shared logic belongs upstream. When several models need the same cleaned table, a dataflow is a good home. Logic that serves one model can stay in that model's own queries. Better still, push heavy shaping back to the source database when one exists, since that usually refreshes fastest.
Does a dataflow replace a data warehouse?
For a small setup, it can stand in for one. However, a dataflow is a preparation tool and not a full database. It has no general query surface for other applications in the way a warehouse does. As data and team grow, a lakehouse or warehouse in Fabric often becomes the better foundation.
How do refresh schedules work across the two layers?
Each layer has its own schedule. The dataflow must complete before the semantic model refresh begins, or the model loads yesterday's tables. So we set the order with care. In Fabric, a pipeline can run one after the other, which removes the guesswork about timing.
Can Power BI Agency review our current setup?
Yes. One of our consultants looks at your queries, models and refresh history in a free 30-minute assessment. Then we say plainly whether a dataflow layer would help. Power BI Agency is a division of Sataware Technologies, independent of Microsoft. Phone (480) 485-7373. We answer within 2 hours.
Let's build your first dashboard together.
Tell us what you report on today. A consultant replies within 2 hours with next steps.
Trusted partners
Microsoft Solutions Partner · AWS Partner
Cloud & AI Platforms
Azure SQL, Microsoft Fabric and the data pipelines behind your reports.
AI Business Solutions
Power BI reporting on your Dynamics 365, Business Central and Power Platform data.
Security
Row-level security and Entra ID sign-in on every report and workspace.
Amazon Web Services
Power BI on your AWS data, with connectors for Redshift, Athena and S3.