Incremental Refresh in Power BI Desktop: How to Set It Up for a Dataflow

Modified on Thu, 6 Aug at 10:46 AM

COMMENT: Need help navigating the support articles? Go to Get Started

 

COMMENT: Before publishing: insert annotated screenshots at the [SCREENSHOT] markers (Steps 2, 3, 6, 7).

 

Before you start

  • You have already connected to your Dataflow in Power BI Desktop using Get Data. If not, see Connect Power BI Desktop and build a dashboard.
  • Your table has a reliable date/time column to filter on (for example, LAST_UPDATE_DATE).
  • Your Power BI licensing supports incremental refresh (check with your admin if you are unsure).

 

Part A — Create the RangeStart and RangeEnd parameters

Step 1 — Open the Power Query Editor

On the Home ribbon, click Transform data to open the Power Query Editor.

 

Step 2 — Create the two parameters

Click Manage Parameters > New Parameter. Create a parameter named RangeStart with Type set to Date/Time and a sample Current Value. Add a second parameter named RangeEnd the same way.

COMMENT: [SCREENSHOT 1: Manage Parameters dialog with RangeStart and RangeEnd, Type set to Date/Time]

 

Important — The parameters must be named exactly RangeStart and RangeEnd (case-sensitive) and set to the Date/Time type. Power BI reserves these names for incremental refresh, so any other name will not work.

 

Part B — Filter the table by date using the parameters

Step 3 — Add a custom date filter

Select your table. Click the drop-down on the date column, then choose Date/Time Filters > Custom Filter. Set the first rule to is after or equal to and the second rule to is before.

COMMENT: [SCREENSHOT 2: Custom Filter dialog with 'is after or equal to' and 'is before' rules]

 

Step 4 — Point the filter at the parameters

For each rule, change the value drop-down from a fixed date to Parameter, then select RangeStart for the first rule and RangeEnd for the second. Click OK.

 

Note — Use is after or equal to RangeStart and is before RangeEnd. This half-open range keeps rows from overlapping between refresh windows.

 

Step 5 — Apply your changes

On the Home ribbon, click Close & Apply to load the filtered table into your model.

 

Part C — Configure the incremental refresh policy

Step 6 — Open the incremental refresh dialog

In the Data pane, right-click your table and select Incremental refresh. You can also select the table and click Incremental refresh on the ribbon.

COMMENT: [SCREENSHOT 3: Data pane right-click menu with Incremental refresh selected]

 

Step 7 — Turn it on and set the windows

Turn on Incrementally refresh this table. Set Archive data starting to how much history to store (for example, 5 years). Set Incrementally refresh data starting to the recent window refreshed each run (for example, 10 days).

COMMENT: [SCREENSHOT 4: Incremental refresh dialog with the archive window and the incremental refresh window set]

 

Tip — Optionally, enable Only refresh complete days and Detect data changes (using a reliable last-updated column) to refresh less data and run faster.

 

Step 8 — Apply the policy

Click Apply to save the incremental refresh policy.

 

Part C complete! Your incremental refresh policy is set. Continue to Part D to publish it.

 

Part D — Publish and let it take effect

Step 9 — Publish to the Power BI Service

On the Home ribbon, click Publish and choose your workspace.

 

Important — The first refresh in the Power BI Service loads the full history you set. Every scheduled refresh after that only processes the recent incremental window, so refreshes run faster.

 

What would you like to do next?

What's your goal?Go to
Automate the refresh in the Power BI ServiceAutomate the semantic model refresh