Refresh
Learn how dataset refresh keeps Import-mode Power BI reports up to date, including scheduled and incremental refresh.
Refresh
Import-mode datasets are a snapshot. Refresh is what brings that snapshot up to date.
Source Data
|
| Refresh
|
Power BI Dataset (in-memory copy)DirectQuery tables don't need refresh, since they query the source live. Refresh applies to Import and Dual-mode tables.
What Happens During Refresh
A refresh re-runs the full query pipeline for every Import table in the dataset.
Refresh
|
+-- Reconnect to each data source
|
+-- Re-run Power Query transformations
|
+-- Reload data into the model
|
+-- Recalculate calculated columns and tablesThe larger the model and the more complex the transformations, the longer a full refresh takes.
Scheduled Refresh
Scheduled refresh runs automatically at set times, without anyone manually clicking refresh.
Schedule (e.g. 6:00 AM, 12:00 PM)
|
| triggers
|
Dataset RefreshConfigured from the dataset's settings in the Power BI Service, under Scheduled refresh.
On shared capacity, datasets are limited to a small number of scheduled refreshes per day (typically 8). Premium and Fabric capacities allow more frequent refresh.
Refresh Requires a Data Gateway (Sometimes)
Cloud data sources (like most SaaS databases) refresh directly. On-premises sources need a gateway to bridge the connection.
On-Premises Database
|
| Gateway
|
Power BI ServiceWithout a gateway installed and configured, scheduled refresh against an on-premises source will fail.
Incremental Refresh
Incremental refresh only reloads recent data, instead of reprocessing the entire table every time.
Full Table
|
+-- Historical data (unchanged) -- skipped
|
+-- Recent data (changed) -- refreshedIt's configured with a date range policy, for example: keep 5 years of history, but only refresh the last 10 days.
Setting Up Incremental Refresh
Incremental refresh is configured in Power BI Desktop, using RangeStart and RangeEnd parameters that Power Query uses to filter each partition.
RangeStart / RangeEnd
|
| filters
|
Table partitions by dateOnce published, the Service manages the partitions automatically based on the policy defined in Desktop.
Why Incremental Refresh Matters
Without it, refreshing a large fact table means reprocessing years of unchanged historical data every single time.
| Aspect | Full Refresh | Incremental Refresh |
|---|---|---|
| Data reprocessed | Entire table | Only the recent window |
| Refresh time | Grows with table size | Stays roughly constant |
| Source load | High every refresh | Lower, ongoing |
Incremental refresh is most valuable on large fact tables where historical rows rarely change.
Refresh Failures
A failed refresh leaves the dataset showing whatever data was loaded during the last successful refresh.
Refresh fails
|
| dataset unchanged
|
Last successful data still shownCommon causes include expired credentials, schema changes at the source, or a gateway that's offline.
Refresh history, available from the dataset settings, shows the error details for any failed attempt.
Refresh Notifications
Power BI can send an email when a scheduled refresh fails, so problems don't go unnoticed until someone spots stale data.
Refresh fails
|
| notify
|
Dataset ownerConfigured alongside the scheduled refresh settings.
Best Practices
- Schedule refresh to run before people start their day, not during it.
- Use incremental refresh for any large, mostly-historical fact table.
- Install and monitor gateways for any on-premises source; a single offline gateway can silently break every dependent dataset.
- Turn on refresh failure notifications so problems surface immediately.
- Keep Power Query transformations efficient — slow transformations directly extend refresh time.
Common Mistakes
No Incremental Refresh on Large Tables
Reprocessing millions of historical rows on every refresh wastes time and source load for data that never changes.
Ignoring Refresh Failures
A refresh that silently fails leaves users looking at stale data without knowing it, unless notifications are configured.
Missing or Outdated Gateway
An offline or outdated on-premises gateway breaks scheduled refresh for every dataset that depends on it, often without an obvious error message pointing at the real cause.
Refresh Checklist
Before relying on scheduled refresh in production:
- A gateway is installed and online for any on-premises source.
- Incremental refresh is configured for large historical fact tables.
- Refresh failure notifications are enabled.
- The refresh schedule fits within the workspace's capacity limits.
- Someone owns monitoring refresh history, not just setting it up once.
Next Steps
Continue exploring the Power BI Service:
Seeing "Couldn't load the data for this visual"? See Couldn't Load the Data for This Visual for the four usual causes, including gateway and connection failures.
Refresh failing with an "OLE DB or ODBC error"? See OLE DB or ODBC Error for the four usual causes and fixes.