Why Refresh Matters
A Power BI report built on Import mode holds a static snapshot of data compressed into the VertiPaq engine at the moment the .pbix file was published or last refreshed; without a refresh, every visual keeps showing that same frozen snapshot no matter how much the underlying source data changes. Refresh is the process — triggered manually, on a schedule, or via API — that re-runs every Power Query step against the live source and reloads the resulting tables into the semantic model, which is what keeps dashboards showing current numbers rather than stale ones.
Cricket analogy: This is like a printed newspaper's match report from yesterday's game: however exciting today's live match is, the print edition on your table keeps showing yesterday's frozen scoreline until the next edition is printed.
Scheduled Refresh and the Data Gateway
In the Power BI Service, Scheduled Refresh lets you configure up to 8 refreshes per day on shared capacity (more on Premium or Fabric capacity) for a published dataset, specifying exact times and a time zone; each scheduled run re-executes the full Power Query pipeline against the source and reloads the model. When any source lives inside a private network — an on-premises SQL Server, a local file share, or an internal API — the cloud-based Power BI Service can't reach it directly, so an On-Premises Data Gateway, installed on a machine inside that network, acts as a secure relay that receives refresh requests from the cloud and executes them locally before sending results back.
Cricket analogy: This is like a stadium's internal PA system that only ground staff can access directly; a broadcast van outside relays commentary requests to a technician inside who retrieves the announcement and sends it back out to the world feed.
// Parameters commonly used to control refresh scope, e.g. combined with RangeStart/RangeEnd
// for incremental refresh filtering on a fact table's date column.
let
Source = Sql.Database("salesdb.company.com", "Sales"),
Orders = Source{[Schema="dbo", Item="Orders"]}[Data],
FilteredByRange = Table.SelectRows(
Orders,
each [OrderDate] >= RangeStart and [OrderDate] < RangeEnd
)
in
FilteredByRangeThe gateway can run in Personal mode (for a single user's own scheduled refreshes) or Standard mode (a shared, centrally managed gateway cluster that an organization's admins configure once for many datasets and many users), and Standard mode is the recommended choice for any production reporting environment.
Incremental Refresh and DirectQuery Alternatives
For very large fact tables, refreshing every historical row on every schedule is wasteful; Incremental Refresh solves this by defining a policy — using the RangeStart and RangeEnd parameters — that partitions the table by date, only reprocessing a recent rolling window (say, the last 10 days) while leaving older, unchanged historical partitions untouched, dramatically cutting refresh time and gateway load. An entirely different approach is DirectQuery, where Power BI stores no data at all and instead sends a live query back to the source database every time a visual is opened or a filter changes, trading the speed of an in-memory Import model for always-current data with no scheduled refresh needed at all.
Cricket analogy: Incremental refresh is like a stats service only re-verifying today's match data nightly instead of re-checking every match ever played, while DirectQuery is like a live scoreboard querying the stadium's official system on every single ball rather than storing any history at all.
DirectQuery trades import-model speed for freshness: every visual interaction sends a new query to the source, so poorly indexed source tables or complex DAX can make reports feel sluggish. Test DirectQuery performance against realistic data volumes and concurrent users before committing a production report to that mode.
- Import-mode reports show a static snapshot that only updates when a refresh actually runs.
- Scheduled Refresh in the Power BI Service re-executes the full Power Query pipeline at configured times.
- An On-Premises Data Gateway relays refresh requests securely to sources located inside a private network.
- The gateway can run in Personal mode for individual use or Standard mode for shared, centrally managed refreshes.
- Incremental Refresh partitions large fact tables by date, reprocessing only a recent rolling window on each run.
- DirectQuery stores no data locally, querying the source live on every interaction for always-current results.
- DirectQuery trades import-model speed for freshness and should be performance-tested before production use.
Practice what you learned
1. What happens to a Power BI Import-mode report's visuals if no refresh has occurred since publishing?
2. Why is an On-Premises Data Gateway needed for some scheduled refreshes?
3. What does Incremental Refresh's RangeStart/RangeEnd parameter pair accomplish?
4. What is the key trade-off of using DirectQuery instead of Import mode?
5. Which gateway mode is recommended for production reporting environments shared across many datasets and users?
Was this page helpful?
You May Also Like
Power Query Basics
Learn how Power Query lets you connect, shape, and clean data before it ever reaches your Power BI model, using a repeatable, no-code ETL workflow.
Relationships and Star Schema
Understand how Power BI relationships work and why a star schema of fact and dimension tables is the recommended foundation for accurate, performant models.
Calculated Columns vs Measures
Learn the fundamental DAX distinction between calculated columns, which compute row-by-row and are stored, and measures, which compute dynamically based on filter context.
Related Reading
Related Study Notes in Programming
Browse all study notesApache Spark Study Notes
Programming · 30 topics
ProgrammingApache Flink Study Notes
Programming · 30 topics
ProgrammingHadoop Study Notes
Programming · 30 topics
ProgrammingSnowflake Study Notes
Programming · 30 topics
ProgrammingApache Airflow Study Notes
Programming · 30 topics
Programmingdbt (Data Build Tool) Study Notes
Programming · 30 topics