Refresh Extracts

When the original data changes, you can refresh the extract using Desktop by selecting a data source on the Data menu, and then selecting Extract and Refresh. Extracts can be set up in two ways: fully refreshed or incrementally refreshed.

With a full refresh, all the data in the extract is replaced with the latest information from the original data source. An incremental refresh only adds the new rows since the last refresh. If you want more details on how to extract your data, you can visit the Extract Your Data Page.

Note: You can also automate extract refreshes using the Tableau Data Extract Command Line Utility. For more information, see Tableau Data Extract Command-Line Utility.

Before you refresh extracts

If you want to refresh an extract, make note of the file format of the extract before you perform an extract refresh. If you perform a refresh on an .tde extract using version 2022.4, the extract is upgraded to .hyper extract automatically. While there are many benefits of upgrading to a .hyper extract, you will be unable to open the extract with previous versions of Tableau Desktop. For more information, see Extract Upgrade to .hyper Format.

Configure a full extract refresh

By default, extracts are configured to fully refresh. This means that every time you refresh the extract, all of the rows are replaced with the data in the original data source. While this kind of refresh ensures that you have an exact copy of what is in the original data, depending on the size of the extract, a full refresh can sometimes take a long time and be expensive on the database. If an extract is not configured for an incremental refresh, selecting to refresh the extract will perform a full refresh of the extract.

Publish to Tableau Server

If you plan to publish the extract as a data source to Tableau Server, you can specify a schedule for the extract refresh during publishing.

Similarly, if you are publishing the extract in a workbook to Tableau Server, you can also specify a schedule for the extract refresh during publishing. For more information, see Schedule Extract Refreshes as You Publish a Workbook.

Publish to Tableau Cloud

If you plan to publish the extract as a data source to Tableau Cloud, your options for refreshing your data depend on the characteristics of your data sources. For more information on refreshing data from specific data sources, see Extract refresh options by data source.

Configure an incremental extract refresh

Most data sources support an incremental refresh. Rather than refreshing the entire extract, you can configure a refresh to add only the rows that are new since the previous time you extracted the data.

For example, you may have a data source that is updated daily with new sales transactions. Rather than rebuild the entire extract each day, you can just add the new transactions that occurred that day. Then once a week you might want to do a full refresh just to be sure you have the most up to date data.

Starting from version 2024.1, Tableau introduces a feature that enables users to perform incremental refreshes on extracts using a non-unique key column. This update introduces an additional step in the process. During an incremental refresh, Tableau first removes rows from the extract that match the previously recorded highest value. Subsequently, Tableau queries for all rows that have a value higher than or equal to the previous highest value. This approach ensures that any deleted rows are accounted for, along with any newly added ones.

The Advanced Settings feature provides two options for managing data updates. You can choose to replace the last rows added by refreshing values that are equal to or greater than the last recorded value. Or you can opt to keep the last rows added by only refreshing the extract with values greater than the last recorded value.

Note: If the data structure of the source data changes (for example, a new column is added), you will need to do a full extract refresh before you can start doing incremental refreshes again.

You can follow the steps below to set up an extract to be refreshed incrementally.

  1. Select a data source on the Data menu, and then select Extract Data.

  2. In the Extract Data dialog box, select All rows as the number of Rows to extract. Incremental refresh can only be defined when you are extracting all rows in the database.

    Note: You can't increment a sample extract.

  3. Select Incremental refresh.

  4. Note: Incremental Refresh isn't available if you enable Aggregation.

  5. Specify a column in the database that will be used to identify new rows.

    For example, you can select a Date field or an ID column that monotonically increases as rows are added to the database.

  6. Expand Advanced Settings to establish how new rows are retrieved. You can choose to replace the last rows added by refreshing values that are equal to or greater than the last recorded value. Or you can opt to keep the last rows added by only refreshing the extract with values greater than the last recorded value.

  7. Note: When filters are added, the Advanced Settings for Incremental Refresh will appear greyed out and the default setting of "Don't replace the last rows added" will be enforced. The purpose of this is to avoid any conflicts that may arise between certain filter criteria and the advanced incremental refresh logic that will "Replace the last rows added".

  8. To finish, select Save Settings.

The steps above can be used to define a new extract or edit an existing extract for an incremental refresh.

Considerations when doing a Incremental refresh

Editing an extract

If you are editing an existing extract, the last refresh is shown so you can be sure you are updating the extract with the correct data.

Full Refresh

A Full Refresh replaces all of the rows with the data in the original data source every time you refresh the extract. A Full Refresh can take longer and be expensive on the database.

Data Engine

The data engine, which is the underlying mechanism that Tableau uses to create extracts, stores time values with a precision of up to 3 decimal places. If you specify a datetime or timestamp column for Identify new rows using column, and your database uses a higher precision than Tableau, you can end up with duplicate rows after an incremental refresh. For example, if the database has two rows, one with a datetime value of 2015-03-13 17:30:56.502352 and one with a datetime value of 2015-03-13 17:30:56.502852, Tableau will store both rows using a datetime value of 2015-03-13 17:30:56.502 thereby creating duplicate rows.

See extract history (Tableau Desktop)

You can see a history of when the extract was refreshed by selecting a data source on the Data menu and then select Extract > History.

The Extract History dialog box shows the date and time for each refresh, whether it was full or incremental, and the number of rows that were added. If the refresh was from a file, it also shows the source file name.

Thanks for your feedback!Your feedback has been successfully submitted. Thank you!