View Categories

How to Set Up Incremental Refresh in Power BI

3 min read

Overview #

Incremental refresh allows Power BI to update only the newest or modified data instead of reloading the entire dataset every time. This approach improves refresh performance and reduces the amount of data that must be processed.

For Salesforce reporting, this means Power BI does not need to re-import the full Salesforce dataset during every refresh.

Power BI Connector for Salesforce supports incremental refresh through Power BI’s built-in functionality.

Instead of importing all Salesforce records every time, Power BI updates only the most recent Salesforce data based on a defined time window. This helps keep reports up to date while making refreshes faster and more efficient, especially for large Salesforce datasets.

i
The OData protocol used by the Power BI Connector for Salesforce does not support the Date/Time/Timezone type directly. Because of this, a manual conversion must be included in the Power Query expression.

How Incremental Refresh Works #

Setting up incremental refresh involves several steps:

  • Creating required parameters
  • Updating the Power Query expression
  • Configuring the incremental refresh policy
  • Publishing the dataset to Power BI Service
  • Scheduling refresh in Power BI Service

This guide focuses on the configuration steps inside Power BI Desktop.

If you have not yet imported Salesforce data into Power BI, refer to the data import guide before continuing.


Step 1: Open Power Query Editor #

After connecting the connector to Power BI and selecting the Salesforce data you want to import, open the Power Query Editor.

  1. Click Transform Data in the Navigator window.

If the dataset has already been loaded, you can open the Power Query Editor from the Transform Data option on the Power BI ribbon.

Set up incremental refresh for Salesforce data in Power BI - Step 1

Step 2: Create the RangeStart Parameter #

Incremental refresh requires two parameters:

  • RangeStart
  • RangeEnd

Both parameters must:

  • Be Date/Time type
  • Use the exact names
  • Be case-sensitive

To create the first parameter:

  1. In Power Query Editor, select Manage Parameters.
  2. Click New Parameter.
Set up incremental refresh for Salesforce data in Power BI - Step 2.1

Configure the parameter:

  • Name: RangeStart
  • Type: Date/Time
  • Current Value: choose any start date and time
Set up incremental refresh for Salesforce data in Power BI - Step 2.2

Then click New.

When configuring incremental refresh in Power BI Desktop, these parameters are used to filter only a small portion of the dataset locally. When the dataset is published to Power BI Service, the service automatically replaces these values to generate partitions for historical and incremental data.


Step 3: Create the RangeEnd Parameter #

Now create the second parameter.

  1. In the Name field enter:
RangeEnd
  1. Set the Type to:
Date/Time
  1. Set a Current Value representing an end date/time.

Click OK to save the parameter.

Set up incremental refresh for Salesforce data in Power BI - Step 3

As with the previous parameter, Power BI Service will later override these values when building dataset partitions.


Step 4: Modify the Query for Incremental Refresh #

Next, the query must be updated to use the parameters.

  1. Select the Navigation step in the query.
  2. Open the query editor.
  3. Replace the existing query with the following expression.
= Table.SelectRows(
Source{[Name="Contact",Signature="table"]}[Data],
each [CreatedDate] >= DateTime.AddZone(RangeStart,0)
and [CreatedDate] < DateTime.AddZone(RangeEnd,0)
)

Example variables used in this query:

  • Contact — Salesforce object name
  • CreatedDate — DateTime field used for filtering data

Adjust these values if you are working with a different Salesforce object or date field.

Set up incremental refresh for Salesforce data in Power BI - Step 4.1
Set up incremental refresh for Salesforce data in Power BI - Step 4.2

After updating the query:

  1. Select Close & Apply.
Set up incremental refresh for Salesforce data in Power BI - Step 4.2

Power BI may take a few moments to apply the changes.

At this point, the query should contain two applied steps:

  • Source
  • Navigation

Step 5: Enable Incremental Refresh #

Now configure the incremental refresh policy.

  1. In the Fields panel, right-click the table you want to configure.
  2. Select Incremental refresh.
Set up incremental refresh for Salesforce data in Power BI - Step 5

In the Set import and refresh ranges section:

  1. Turn the Incrementally refresh this table slider On.
  2. Configure the archive and refresh periods according to your requirements.
  3. Click Apply.
Set up incremental refresh for Salesforce data in Power BI - Step 6

Optional settings #

  • Refresh only complete days
    Ensures the refresh window only includes fully completed days.
  • Detect data changes
    This option is generally not recommended because it can increase server load and slow down refresh performance.

If the incremental refresh slider is disabled, it usually means:

  • The query does not reference RangeStart and RangeEnd
  • Parameter names are incorrect
  • Parameter data types are not set to Date/Time

Step 6: Publish the Dataset #

After configuring incremental refresh:

  1. Click Publish in Power BI Desktop.
Set up incremental refresh for Salesforce data in Power BI - Step 7

Once published:

  • The dataset appears in your Power BI Service workspace
  • The first refresh loads both historical and incremental data
  • Future refreshes process only incremental changes

Important Notes #

Incremental refresh divides the dataset into two logical sections:

Incremental section

  • Updated during each refresh
  • Contains the most recent data

Archive section

  • Loaded during the initial refresh
  • Remains unchanged in subsequent refreshes

Because the refresh windows are relative to the current date, they automatically move forward over time.


Troubleshooting Incremental Refresh #

If incremental refresh fails during dataset refresh in Power BI Service, the issue may be related to dataset partitioning or duplicate values in the date column used for filtering.

To troubleshoot common refresh errors and duplicate value issues, refer to the Microsoft documentation. This guide explains common causes of refresh failures and how to resolve them in Power BI.