Forum Discussion
Loading ->GetData into a DataMart/Dataflow/Desktop.
What you're seeing is expected: a standard refresh re-runs every query that has "Enable load" turned on, so refreshing or adding one table triggers a full refresh of the model/dataflow. The advice to split into multiple dataflows is one valid approach, but there are a few others that usually help more.
In Power BI Desktop:
- You don't have to refresh everything. Right-click a single table in the Data/Fields pane and choose "Refresh data" to refresh just that one table.
- For a query you only use as an intermediate step, turn off "Enable load" (right-click the query in Power Query) so it isn't reloaded as its own table.
For the time-consuming part (the real fix at scale):
- Set up Incremental refresh on your large tables. With an incremental policy, only the most recent partition (for example the last N days) is refreshed, and historical partitions are not reloaded each time, which is usually where the time goes.
- Make sure your queries fold (query folding) so filtering and the incremental ranges are pushed down to the source instead of pulling everything and filtering in Power Query.
In dataflows / datamarts:
- Incremental refresh applies there too, and you can use linked/computed entities so a staging dataflow loads once and downstream dataflows reference it instead of re-pulling from the source.
So while Power BI won't "load only the one object you picked" during a full refresh, per-table refresh + incremental refresh + query folding gets you most of the time savings without having to break everything into separate dataflows.