DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk7 min

Incremental Refresh in Power BI: Handle Large Datasets Without the Wait

Power BI incremental refresh can reduce recurring work on large tables, but the first service refresh still processes the configured history. Learn how to set the date filter, confirm query folding, and choose between import, hybrid, and XMLA approaches.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Power BI incremental refresh can shorten recurring refreshes by partitioning a table and refreshing only the recent periods you configure. It does not make the first service refresh instantaneous: that refresh still has to process the historical period in your policy. The key prerequisite is query folding—the source should receive a bounded date query, rather than Power Query downloading the whole table and filtering it locally.

How incremental refresh speeds up recurring refreshes

Without incremental refresh, a routine import refresh may need to reload a table’s full history. With a policy, Power BI divides the table into time-based partitions. The policy defines how much history to retain and which recent periods to refresh; later refreshes can then avoid reprocessing unchanged older periods.

As an Amazon Associate I earn from qualifying purchases.

The initial refresh in the Power BI service is different: it processes the configured historical window. How long it takes depends on the volume and shape of the data, the source, the model, the capacity, and whether the date filter folds. Incremental refresh therefore reduces recurring work; it is not a guarantee of a fast first load or a specific percentage of time saved.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What to prepare before configuring a policy

Choose the date column and retention windows

Select the table’s date or date/time column that determines which period a row belongs to. Decide how much historical data the model must retain, then choose a smaller recent window to refresh routinely. The archive window controls the history kept; the refresh window controls how much recent data is revisited. Set these to match your reporting and data-correction needs rather than choosing arbitrary periods.

Check data types and source behavior

  • Create Power Query parameters named exactly RangeStart and RangeEnd. Both must have the Date/Time data type.
  • Use a filtered column with a compatible Date/Time type and format. If the source uses an integer date key, Microsoft’s incremental-refresh guidance describes converting the parameter values to match the key while preserving folding; avoid casually converting the source key column if that breaks folding.
  • Confirm that the source connector and the transformations in the query can fold. Query folding means Power Query translates the steps into a query that the source can execute, instead of retrieving all rows and applying the filter locally.

Microsoft’s Configure incremental refresh for Power BI semantic models guidance describes the Desktop preview as loading only data between the two parameters. That preview behavior does not guarantee that every published query folds or that the first service refresh will load only a small amount of history.

Configure the date filter and incremental refresh policy

  1. Create the parameters. In Power Query, create RangeStart and RangeEnd as Date/Time parameters. Use the exact spelling and capitalization so Power BI can recognize them.
  2. Filter the table’s date column. Apply a lower bound of greater than or equal to RangeStart and an upper bound of less than RangeEnd. This half-open interval includes the start and excludes the end.
  3. Verify a bounded test query. Set a short preview range and check that it returns the expected rows. If a small range still takes a long time or consumes substantial resources, treat that as a warning that the filter may not be folding.
  4. Set the policy in Power BI Desktop. Configure the amount of history to archive and the recent period to refresh for the table. If you enable change detection, select a separate date/time column that records when rows were last updated.
  5. Publish and refresh in the service. Publish the model, then run a manual refresh or wait for its scheduled refresh. The service applies the policy during refresh and manages the table’s partitions.

Why the filter must exclude the end value

Adjacent partitions share a boundary. Suppose one partition covers 2026-01-01 00:00 through, but not including, 2026-02-01 00:00, and the next starts at 2026-02-01 00:00. A row exactly at midnight on February 1 belongs only to the second partition when the filter uses >= RangeStart and < RangeEnd. If both ends use equality-inclusive comparisons, a boundary row could be included twice.

Validate folding before relying on the policy

Incremental refresh only helps if Power BI can restrict work to the intended date range at the source. If folding is lost earlier in the query, Power Query may have to retrieve far more data than the preview range suggests. Microsoft’s Query folding guidance in Power BI Desktop explains how Power Query translates supported transformations for source-side execution.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Inspect Power Query’s folding indicators where available, and review the source-side query or query logs if your source exposes them.
  • Test a narrow date range before publishing. An unexpectedly slow or resource-intensive test is a reason to investigate folding, not evidence that the policy will make a full scan efficient.
  • Review each transformation before the filter as well as the filter itself. A step that cannot fold may prevent later steps from being sent to the source.
  • After publishing, check refresh behavior and source workload. A successful refresh alone does not establish that the source received an efficient bounded query.

Microsoft’s Troubleshoot incremental refresh and real-time data guidance is useful when data types, folding, or hybrid-model behavior cause problems.

Choose options for detecting changes and serving fresh data

Change detection for periods without updates

The optional change-detection setting uses a tracking column—typically a last-updated timestamp or audit value—to determine whether a period has changed. Use a different column from the one that partitions the table. When the tracking value has not changed, Power BI can skip refreshing that period.

Change detection does not find hard-deleted rows: once a row is removed from the source, its former tracking value is no longer available to signal the deletion. A soft delete can be detected if the row remains in the source and its tracking value changes when it is marked deleted.

Import-only incremental refresh

For many models, the straightforward choice is an import table with a bounded refresh window. It suits reports where data can wait until the next scheduled or manual refresh, and it avoids querying the source for every report interaction.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Hybrid real-time tables

A hybrid table combines imported historical partitions with a DirectQuery partition for data newer than the import refresh window. The Desktop option described by Microsoft requires Premium capacity. DirectQuery can make recent source data available without waiting for the next import refresh, but report queries now depend on source responsiveness. Microsoft recommends setting related tables to Dual mode for performance. Visual caching can also mean a user does not see a source change until a visual queries again.

XMLA and advanced partition management

For eligible Premium models with XMLA read/write enabled, XMLA tools such as SSMS or Tabular Editor can support selective partition refreshes, staged initial loading, and advanced policy operations. These workflows are optional; a normal policy configured in Desktop does not require them. Staging can help when one initial historical load would exceed service or source limits, but it adds operational complexity. XMLA refresh operations have different limits from scheduled refresh, so check Microsoft’s current Advanced incremental refresh and real-time data with the XMLA endpoint in Power BI guidance before designing that workflow.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Decide which approach fits your model

Approach Freshness What it requires Main trade-off
Import-only incremental refresh Updates on the next manual or scheduled refresh A folding date filter and an incremental refresh policy Recent source changes wait for the next refresh.
Hybrid real-time table Can query newer data through DirectQuery Premium capacity for the Desktop option, plus appropriate related-table storage modes Report queries depend on the source; DirectQuery behavior and visual caching affect apparent freshness.
XMLA partition management Depends on the partition operations you run An eligible Premium model with XMLA read/write enabled and an operational tool or process Offers advanced control but requires more setup and maintenance.

Choose based on how fresh the report must be, whether the source supports folding, how much history the first load must process, what capacity and features are available, and whether your team can operate a hybrid or XMLA workflow.

Plan for the first load and service limits

The first service refresh still processes the configured historical period, so estimate its impact on both the source and the model before publishing. If the model is expected to exceed applicable model-size constraints, Microsoft advises enabling large-model storage format before the first service refresh. Consult current Power BI guidance for the relevant limits and configuration.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Microsoft’s troubleshooting guidance states scheduled-refresh time limits of two hours for Power BI Pro models on shared capacity and five hours for Premium-capacity models. These are service limits, not expected refresh durations or performance targets; verify current capacity and service limits before relying on them. If the initial historical load cannot finish within the available limits, an eligible XMLA-based staged load may be an option, but it is not required for ordinary incremental-refresh setup.

Common problems and what to check

  • The service refresh is still slow: Check whether the date filter folds, whether the configured historical window is larger than necessary, and whether the source or capacity is the bottleneck.
  • Rows appear in two adjacent periods: Use a half-open filter—greater than or equal to RangeStart, less than RangeEnd—rather than including both endpoints.
  • A short preview range is unexpectedly expensive: Investigate folding and query execution at the source before assuming the policy will limit the work.
  • Changes or deletions are missing: Confirm that the refresh window includes the affected period. If using change detection, verify that the tracking column changes for updates; hard deletes are not detected by that mechanism.
  • A hybrid report appears stale: Check whether the visual has queried again and account for visual caching, as well as source responsiveness and related-table storage modes.

Further Microsoft guidance

Microsoft Learn’s Manage semantic models in Power BI training module covers semantic-model management, including incremental refresh settings. The PL-300 Power BI Data Analyst certification is a broader learning path, not a prerequisite for configuring incremental refresh. For dataflows, Microsoft documents related behavior separately in Using incremental refresh with dataflows.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.