Refresh in Power BI: Understanding Incremental Refresh in the Service and the Role of Manual and Scheduled Refresh

Power BI offers multiple refresh mechanisms that serve different purposes. Manual and Scheduled Refresh control when data is refreshed, while Incremental Refresh controls how much data is refreshed. To clearly understand the difference, let’s walk through a single, consistent example using a sales dataset stored on OneDrive.

Manual Refresh vs Scheduled Refresh vs Incremental Refresh

Manual Refresh

Manual Refresh is used when an immediate or urgent update is required. It is triggered by clicking Refresh in Power BI Desktop or Refresh now in the Power BI Service. Each time a manual refresh runs, Power BI reloads the entire dataset, including both historical and recent data. This approach is useful for quick validations or unexpected data updates but is not practical for regular use.

Scheduled Refresh

Scheduled Refresh is Power BI’s automatic refresh mechanism. Instead of relying on users to manually refresh datasets, the Power BI Service refreshes data at predefined intervals such as daily or weekly.

Scheduled Refresh exists because, in real-world scenarios:

  • New transactions are added regularly
  • Source files (OneDrive, SharePoint, databases) are updated continuously
  • Manual refresh is not scalable or reliable

With Scheduled Refresh enabled, reports remain up to date automatically without user intervention. Like manual refresh, Scheduled Refresh still reloads the entire dataset on every run. It defines when the refresh happens, not how much data is refreshed.

Incremental Refresh

Incremental Refresh defines what portion of data is refreshed. Instead of reloading the full dataset, Power BI refreshes only recent or changed data (for example, the last 30 days) while historical data remains untouched.

How Incremental Refresh Works

Power BI partitions the dataset based on a date column:

  • Historical partitions are archived and not refreshed again
  • Recent partitions are refreshed during each scheduled run

This logic is applied and managed by the Power BI Service, not by Power BI Desktop during normal refresh.

Manual Refresh in Power BI

Step-by-Step Explanation Using a Sales Data Example

To understand how Manual and Scheduled Refresh work in Power BI, let’s start with a simple and consistent sales data example. These steps focus only on traditional refresh behavior, where the entire dataset is refreshed each time.

Step 1: Sales Data Stored in Excel (Source Data)

The sales data is stored in an Excel file containing four columns: OrderID, OrderDate, Country, and Amount. The data spans multiple years, from 2022 to 2025, making it suitable for observing how Power BI handles full dataset refreshes over time.

A table displaying sales data with columns for OrderID, OrderDate, Country, and Amount. The data spans from January 1, 2022, to January 1, 2025, including various entries for different countries.
Step 2: Connecting the Excel File from OneDrive

The Excel file is stored on OneDrive, and Power BI Desktop connects to it using a web URL, visible in Data Source Settings.
Because the file is cloud-based, the Power BI Service can access and refresh it directly after publishing, without requiring an on-premises data gateway. This setup is ideal for demonstrating both Manual and Scheduled Refresh.

Screenshot of Power BI data source settings showing a URL for an Excel file named 'Sales Data' hosted on OneDrive.
Step 3: Initial Load in Power BI Desktop (Baseline State)

When the data is first loaded into Power BI Desktop:

  • All historical records from 2022 to 2025 are imported
  • No filters, parameters, or refresh rules are applied
  • The dataset behaves like a standard Import model

This represents the baseline state before any refresh behavior is demonstrated.

Screenshot of Power BI interface displaying a data table with columns for OrderID, Country, OrderDate, and Amount, including various entries for sales data spanning from January 2022 to January 2025.
Step 4: Changes Made in the Source File

Next, changes are made in the Excel file:

  • New sales records are added
  • Some existing records may be updated

This mirrors real-world scenarios where source data is continuously changing due to new transactions or corrections.

Excel spreadsheet displaying sales data with columns for OrderID, OrderDate, Country, and Amount, including recent entries highlighted.
Step 5: Manual Refresh in Power BI Desktop

When Refresh is clicked manually in Power BI Desktop:

  • Power BI reloads the entire dataset
  • Both historical and newly added records are fetched again
  • No distinction is made between old and recent data

Manual Refresh is typically used for immediate or urgent updates, such as validating newly added data.

Power BI interface showing the Refresh button and a data table with sales records, including OrderIDs, Countries, OrderDates, and Amounts. Some rows are highlighted to indicate recent changes.
Step 6: Publishing the Report to Power BI Service

Once the report is published from Power BI Desktop, it appears in the Power BI Service workspace as two separate artifacts: a Report and a Semantic Model (Dataset), as shown in the image above. From this point onward, all refresh activities are handled by the Power BI Service, not by Power BI Desktop. Any manual or scheduled refresh is executed against the semantic model in the Service, and Power BI Desktop is no longer involved in the refresh process.

A table displaying sales data with columns for OrderID, Country, OrderDate, and Amount. The data includes various entries from 2022 to 2025, showing multiple records and their corresponding details.
Step 7: Manual Refresh in Power BI Service

When Refresh now is clicked in the Power BI Service:

A full dataset refresh is triggered. All historical and recent data is reloaded. The behavior is identical to a manual refresh in Desktop. This option is useful for one-time updates but is not scalable for large datasets.

Screenshot of the Power BI Service interface showing a list of reports, with a 'Refresh now' option available for a sales report and a semantic model.
Table displaying sales data with columns for OrderID, Country, OrderDate, and Amount, highlighting new entries for OrderID 1009 and 1010.

Scheduled Refresh

Step 1: Configuring Scheduled Refresh

Scheduled Refresh is configured from:

  • Workspace >>  Semantic Model >>  Settings >> Refresh

Here you define:

  • Refresh frequency (daily / weekly)
  • Time zone
  • Failure notifications
Screenshot showing the Power BI Service interface with the 'Sales Report' selected and the settings menu open.
Key Settings in Scheduled Refresh (What Each One Means)

1.Time Zone

This defines which time zone Power BI should follow when running the refresh.

  • Example: UTC
  • Important because refresh timing depends on business hours
  • Especially critical for Incremental Refresh windows

2. Refresh Schedule (On / Off)

  • ON >> Power BI refreshes automatically
  • OFF >> Only manual refresh is possible

Turning this ON tells Power BI:

“You are allowed to refresh this dataset automatically.”

3. Refresh Frequency (Daily / Weekly)

This decides how often refresh should run.

  • Daily >> Best for operational / transactional data
  • Weekly >> Suitable for slow-changing data

This does not decide how much data refreshes. It only decides when refresh happens.

4. Notification Settings

Power BI can notify:

  • Dataset owner
  • Other email contacts

If refresh fails, alerts are sent automatically.

Settings page for Incremental Refresh in Power BI, showing options for time zone, refresh schedule configuration, and refresh frequency options including Daily and Weekly.
Step 2: Scheduled Refresh Behavior

When Scheduled Refresh runs, Power BI automatically refreshes the dataset at the configured time without any user intervention. During each scheduled refresh, the entire dataset is reloaded, including both historical and newly added data, regardless of whether older data has changed or not. This ensures reports remain up to date on a fixed schedule, but it does not optimize the volume of data being refreshed. In essence, Scheduled Refresh solves the “when to refresh” problem by automating refresh timing, but it does not address “how much data to refresh,” which becomes a limitation as datasets grow larger.

Table displaying sales data including columns for OrderID, Country, OrderDate, and Amount, with multiple entries spanning from January 2022 to June 2025.

Incremental Refresh in Power BI

Incremental Refresh is designed to solve a common scalability problem in Power BI. As datasets grow over time, refreshing the entire dataset during every manual or scheduled refresh becomes inefficient. Most historical data rarely changes, yet traditional refresh methods reload it every time, increasing refresh duration, capacity consumption, and the risk of refresh failures.

Incremental Refresh works on a simple principle: historical data remains stable, while recent data continues to change. Instead of refreshing everything, Power BI archives older data and refreshes only the most recent portion of the dataset.

Step 1 : Preparing the Dataset for Incremental Refresh

The same sales dataset used earlier is reused, but now it is prepared for Incremental Refresh. At this stage, when the file is first loaded into Power BI Desktop, all historical data is visible from 2022 through 2025. Nothing is filtered yet, and Power BI behaves like a normal import model.

An Excel spreadsheet showing sales data with columns for OrderID, OrderDate, Country, and Amount. The data includes entries from various countries such as India, UK, and USA for the years 2022 to 2025.
Step 2: Creating Date Parameters (RangeStart and RangeEnd)

Incremental Refresh in Power BI works using two special parameters: RangeStart and RangeEnd. These parameters act as placeholders that Power BI Service later replaces automatically during refresh.

In Power BI Desktop, these parameters are created from the Manage Parameters option.
Both parameters are defined as Date/Time types:

  • RangeStart represents the lower boundary of data to load
  • RangeEnd represents the upper boundary of data to load

At this stage, the values you assign (for example, 1 Jan 2023 and 1 Jan 2025) are only for design-time testing in Desktop. These values are not fixed and will be overridden by the Power BI Service during actual incremental refresh runs.

Screenshot of Power BI Desktop showing the Manage Parameters window with RangeStart parameter details including its name, type, and current value set to 01-01-2023 12:00:00 AM.

Screenshot of Power BI Desktop showing the Manage Parameters window, with RangeStart and RangeEnd settings for date parameters.
Step 4: Applying the Date Filter Using Parameters

1. The OrderDate column must be of type Date/DateTime, and it must be filtered using RangeStart and RangeEnd (OrderDate ≥ RangeStart and OrderDate ≤ RangeEnd) to enable Incremental Refresh.

2. Power BI Desktop may show only a subset of rows after applying the filter; this is expected, as the actual Incremental Refresh logic is applied in the Power BI Service, not in Desktop.

Screenshot showing the OrderDate column in Power BI with Date/Time filter options being applied, including a 'Between' filter option for selecting date ranges.

Power BI Filter Rows dialog box showing conditions for filtering 'OrderDate' with parameters 'RangeStart' and 'RangeEnd'.
Step 5: Enabling Incremental Refresh on the Table

After preparing the query, Incremental Refresh is configured from the model view by right-clicking the table and selecting Incremental refresh.

Here, two important windows are defined:

Archive window :

This determines how much historical data is stored but not refreshed. In this example, data starting 2 years before the refresh date is archived. This means data from 2023 and 2024 is kept but frozen.

Incremental window :

This determines how much recent data is refreshed each time. In this case, only 1 year before the refresh date (2025) is refreshed repeatedly.

This configuration clearly separates old, stable data from new, changing data.

Screenshot showing the Power BI interface with the SalesData table selected and the Incremental refresh option highlighted.
Power BI Incremental Refresh settings window displaying options for selecting a table, setting archive data starting range, and configuring incremental refresh data range.
Step 6: What Actually Happens After Publishing to Power BI Service

This is the most misunderstood aspect of Incremental Refresh. Incremental Refresh does not run in Power BI Desktop, where every refresh is always a full refresh used only for development and testing. The real Incremental Refresh behavior begins after the dataset is published to the Power BI Service. From that point onward, Power BI applies the incremental logic whenever a refresh is triggered, either manually or through a scheduled refresh.

When a refresh runs in the Power BI Service:

  • Data in the archived range (for example, 2023–2024) is not reloaded
  • Only data in the incremental range (for example, 2025) is refreshed
  • Power BI automatically manages data partitions internally, without exposing them to the user
Screenshot of Power BI's interface showing incremental refresh options including a 'Refresh now' button for a report.

What Happens When You Change Data in OneDrive and Refresh in Power BI Service (Incremental Refresh in Action)

After setting up Incremental Refresh and publishing the dataset to Power BI Service, the real behaviour becomes visible when the source data changes.

In this demo, the sales data is stored in an Excel file on OneDrive. Initially, the file contains data from 2022 to 2025. Incremental Refresh is configured to archive the last 2 years (2023–2024) and incrementally refresh only the last 1 year (2025).

Once the dataset is published, Power BI Service creates internal partitions based on this configuration. These partitions decide what data is frozen and what data is allowed to refresh.

Screenshot of an Incremental Refresh data table in Power BI, displaying columns for OrderID, Country, OrderDate, and Amount with various data entries.

Step-by-Step: Updating OneDrive Excel and Refreshing the Dataset

Step 1: Make Changes in OneDrive Excel

After publishing the dataset, new rows are added to the OneDrive Excel file:

  • A new row is added for 2025 (for example, OrderID 1009 with date 25-May-2025)
  • An existing row from 2024 is modified (for example, Country changed to Australia)

At this point, the Excel file clearly contains changes in both 2024 and 2025.

A screenshot of an Excel table displaying sales data with columns for OrderID, OrderDate, Country, and Amount. Notable rows include one for April 20, 2024, with updates to the Country field, and another for May 25, 2025, as the new addition.
Step 2: Trigger Refresh in Power BI Service

Next, a refresh is triggered in Power BI Service by clicking Refresh now on the semantic model (dataset). In this example, we are triggering a manual refresh by clicking the Refresh button in the Service UI.

This refresh can be:

  • Manual refresh (Refresh button clicked by a user), or
  • Scheduled refresh (daily or weekly, configured in settings)

For Incremental Refresh, both manual and scheduled refresh behave the same way only the incremental data window is refreshed, while archived data remains unchanged.

Screenshot showing the Power BI Service interface with Incremental Refresh options, including 'Refresh now' button highlighted.
What Power BI Service Actually Does During This Refresh

This is the key concept most people misunderstand. When the refresh starts, Power BI Service does NOT reload the entire Excel file again. Instead, it follows the Incremental Refresh rules that were defined during publishing.

Here is what happens internally:

  • Archived partitions (2023–2024)
    These partitions are frozen. Power BI does not re-read Excel rows for these years. Even if the Excel file has changes in 2024, they are ignored.
  • Incremental partition (2025)
    This partition is actively refreshed. Power BI re-reads only the rows that fall within 2025. Any new rows or changes in 2025 are picked up.
Power BI table displaying order data with columns for OrderID, Country, OrderDate, and Amount, showing data entries from 2023 to 2025.

What is Scheduled Refresh in Power BI? (Separate from Incremental Refresh)

Scheduled Refresh is Power BI’s automatic refresh mechanism that determines when Power BI should pull new data from the source. Instead of relying on someone to manually click the Refresh button every day, Scheduled Refresh allows the Power BI Service to update the dataset automatically at predefined intervals, such as daily or weekly, ensuring that reports stay up to date without manual intervention.

Why Scheduled Refresh Exists

In real projects, data keeps changing continuously:

  • New sales happen
  • New transactions are added
  • Files in OneDrive or databases get updated

Manually refreshing datasets every day is not practical.

So Scheduled Refresh exists to:

  • Keep reports up-to-date automatically
  • Remove manual dependency
  • Ensure business users always see fresh data
How to Configure Scheduled Refresh in Power BI Service

To configure Scheduled Refresh in Power BI Service, open the workspace and click the three dots (⋯) next to the semantic model (dataset). Select Settings, then navigate to the Refresh section. This is where refresh frequency, time zone, and automatic refresh schedules are defined for the dataset.

Power BI Interface showing the settings menu with options to configure incremental refresh.
Key Settings in Scheduled Refresh (What Each One Means)

1.Time Zone

This defines which time zone Power BI should follow when running the refresh.

  • Example: UTC
  • Important because refresh timing depends on business hours
  • Especially critical for Incremental Refresh windows

2. Refresh Schedule (On / Off)

  • ON >> Power BI refreshes automatically
  • OFF >> Only manual refresh is possible

Turning this ON tells Power BI:

“You are allowed to refresh this dataset automatically.”

3. Refresh Frequency (Daily / Weekly)

This decides how often refresh should run.

  • Daily >> Best for operational / transactional data
  • Weekly >> Suitable for slow-changing data

This does not decide how much data refreshes. It only decides when refresh happens.

4. Notification Settings

Power BI can notify:

  • Dataset owner
  • Other email contacts

If refresh fails, alerts are sent automatically.

Settings page for Incremental Refresh in Power BI, showing options for time zone, refresh schedule configuration, and refresh frequency options including Daily and Weekly.

Manual & Scheduled Refresh vs Incremental Refresh

1. Manual Refresh / Scheduled Refresh (Traditional Refresh)

What it is
Manual and scheduled refresh define when a Power BI dataset is refreshed. A manual refresh is triggered by a user clicking Refresh now in the Power BI Service, whereas a scheduled refresh runs automatically at a configured time (daily or weekly).

How it works
Each time a refresh is executed, Power BI reloads the entire dataset from the data source. This includes both historical and recent data, regardless of whether older data has changed or not. No data is treated as permanent or archived, which means every refresh performs a full data reload.

Benefits

  • Easy to configure and understand
  • Suitable for small datasets
  • Ideal when historical data frequently changes

Limitations

  • Becomes slow as data volume grows
  • Consumes high memory and CPU resources
  • Increased risk of refresh failures or timeouts
  • Inefficient when older data is stable and unchanged
2. Incremental Refresh

What it is
Incremental Refresh defines what portion of data is refreshed, rather than when the refresh runs. It is designed to refresh only recent data, while keeping historical data unchanged.

How it works
Power BI divides the dataset into partitions based on a date column. Older data is stored as archived partitions, which are not refreshed again. Only the most recent time window (for example, the current year or last few months) is refreshed during each run. This logic is applied and managed internally by the Power BI Service, not Power BI Desktop.

Benefits

  • Significantly faster refresh performance
  • Reduced resource and capacity consumption
  • Highly reliable for large datasets
  • Scales efficiently to millions or billions of rows

Limitations

  • Changes to historical data are not automatically reflected
  • Initial setup is more complex (parameters and date filters required)

Conclusion

Manual and scheduled refresh determine when a dataset is refreshed, whereas Incremental Refresh determines how much data is refreshed during each run. For small datasets or scenarios where historical data changes frequently, traditional refresh methods are simple and sufficient. However, as data volumes grow and historical records become stable, full refreshes quickly turn into a performance and cost bottleneck. In such enterprise-scale scenarios, Incremental Refresh becomes essential to ensure faster refresh times, improved reliability, and efficient use of capacity. By refreshing only recent data and preserving historical partitions, Incremental Refresh enables Power BI models to scale confidently without sacrificing performance. In real-world enterprise reporting, Incremental Refresh is not just an optimization, it is a necessity.

Similar Posts