{"id":4159,"date":"2022-12-16T20:36:28","date_gmt":"2022-12-16T20:36:28","guid":{"rendered":"https:\/\/www.biconnector.com\/blog\/?p=4159"},"modified":"2023-05-18T05:41:02","modified_gmt":"2023-05-18T05:41:02","slug":"how-to-configure-incremental-refresh-in-tableau","status":"publish","type":"post","link":"https:\/\/dev.biconnector.com\/blog\/how-to-configure-incremental-refresh-in-tableau\/","title":{"rendered":"How to Configure Incremental Refresh in Tableau?"},"content":{"rendered":"\n

Before we dive into the steps to configure incremental refresh in Tableau, let\u2019s first understand what incremental refresh is, why to use it, when to use it, and when not to use it! <\/p>\n\n\n\n

What is Incremental Refresh?<\/h2>\n\n\n\n

Incremental refresh is a type of data extract that adds new data records to the already existing data extract. The word incremental<\/strong> suggests that the number of rows in the data extract which is already in use increases without making any changes to the original data extract. In simpler words, incremental refresh adds new rows to the previous data extract.<\/p>\n\n\n\n

The below image is a high-level representation of the Incremental Refresh concept in Tableau!<\/p>\n\n\n\n

\"Visual<\/figure>\n\n\n\n

When we perform an incremental refresh, Tableau sends a request to the data extract. In case new rows are added to the dataset, it pulls only the newly added rows from the data source into the data extract. The data extract then sends the data back into Tableau, and changes are reflected in your tables and graphs.<\/p>\n\n\n\n

Why use Incremental Refresh?<\/h2>\n\n\n\n

Now to address the big question: why use an incremental refresh? Why not just use live connections or full extracts? There are two reasons someone would prefer using incremental refresh:<\/p>\n\n\n\n

Improves efficiency<\/h3>\n\n\n\n

It takes much less time to pull the newly added data from a data source. Instead, if you were to perform a full extract, it can take hours for the changes to take place in case you are connected to a huge data source. <\/p>\n\n\n\n

Less load on the server<\/h3>\n\n\n\n

If you are working for a company that runs Tableau on a server, then you should avoid overloading the server by performing an incremental extract. Incremental refresh, in this case, is the most preferred way of pulling new data from data sources.<\/p>\n\n\n\n

When to use an incremental refresh?<\/h2>\n\n\n\n

Incremental refresh can be very useful in some cases. In fact, it could be just what you need to make your Tableau workflow more efficient. <\/p>\n\n\n\n

Dynamic Data Source<\/h3>\n\n\n\n

The first and the most critical use case of Incremental Refresh is when you are connected to a data source that updates frequently. For instance, you work for a web analytics company that records the number of visits to a website. Each user visit is stored in a database, and the number of these visits can be insanely high. Using incremental refresh, in this case, is a must; otherwise, you will have no option but to wait for the entire data set to load into Tableau before you start analyzing the data. The load time can take hours in some cases. The best option, therefore, is to use Incremental Refresh, which will load only the newly added rows rather than loading the entire data into Tableau. <\/p>\n\n\n\n

Fixed Data Structure<\/h3>\n\n\n\n

Use incremental refresh when you are sure that the underlying data structure or database schema will not change. This is essential for an incremental refresh to work properly because if the underlying database schema changes, the incremental refresh will no longer work. Incremental refresh only pulls new rows, not new columns.<\/p>\n\n\n\n

When not to use Incremental Refresh?<\/h2>\n\n\n\n

Incremental Refresh is an excellent technique for pulling new records from a dataset without loading the entire dataset all over again. But what happens when a row(or record) is deleted or updated in a dataset? Let\u2019s see some scenarios where you should avoid the Incremental Refresh approach!<\/p>\n\n\n\n

Deletion of Data from the data source<\/h3>\n\n\n\n

If you go ahead and delete one of the rows from the dataset that we have been working with and then perform incremental refresh following step 4, you will notice that the bar graphs stay the same. This is because incremental refresh only pulls new records added to a dataset and does not pull any changes made.<\/p>\n\n\n\n

Update in data in the data source<\/h3>\n\n\n\n

The same explanation holds when we update values in a dataset. If you\u2019d like, go ahead and change the Mobile Phones price to 70, perform an Incremental Refresh, and you\u2019ll see that the bars stay the same. Incremental refresh does not make changes to the existing data extract. <\/p>\n\n\n\n

In both cases above, you\u2019ll have to perform a Full Extract to make the Incremental Extract function again.<\/em><\/p>\n\n\n\n

Step-by-Step Configuration of Incremental Refresh in Tableau<\/h2>\n\n\n\n

Now that we understand what Incremental Refresh is, let\u2019s go ahead and see how we can configure Incremental Refresh in Tableau.<\/p>\n\n\n\n

The dataset that we\u2019ll use for demonstration purposes is shown below. Here<\/a>\u2019s the link to the dataset we use in this post. Please feel free to download the dataset and practice yourself. The dataset contains sales data for an electronics store. We\u2019ll be making multiple iterations to this dataset throughout this tutorial.<\/p>\n\n\n\n

\"Sample<\/figure>\n\n\n\n

Step 1:<\/strong> Open up Tableau, and load the dataset provided into it.
Step 2:<\/strong> Select Extract<\/strong> as the connection type. Then click on Edit<\/strong> next to the Extract<\/strong> option. <\/p>\n\n\n\n

\"Data<\/figure>\n\n\n\n

Step 3: <\/strong>When you click edit, a window named Extract Data<\/strong> will appear on your screen. This is where we will configure our incremental refresh.<\/p>\n\n\n\n

\"Pop-up<\/figure>\n\n\n\n

Check the Incremental Refresh<\/strong> box.<\/p>\n\n\n\n

Next, in the Table to refresh<\/strong>,<\/em> select the sheet name containing your data.<\/p>\n\n\n\n

Then, in the Identify new rows using column<\/strong>,<\/em> select Order ID. You can select any other column as well. For instance, if you would like to refresh your data based on dates, then go ahead and select the Order Date<\/strong> column. In our example, we will use Order ID.<\/p>\n\n\n\n

Once done with the above steps, simply click OK<\/strong>.<\/p>\n\n\n\n

When you click Sheet 1<\/strong> in the Tableau workbook, a window will appear asking you to save your extract file. You can save this file anywhere you like. The best practice is to keep the file in the same directory which contains your dataset.<\/p>\n\n\n\n

\"Saving<\/figure>\n\n\n\n

Step 4: <\/strong>The above steps complete the configuration of Incremental Refresh in Tableau. Whenever you want to pull in new data from the data source or perform Incremental Refresh, simply click on Data > Data Extract File > Extract > Refresh (Incremental)<\/strong>. <\/p>\n\n\n\n

\"Steps<\/figure>\n\n\n\n

Testing Incremental Refresh in Tableau<\/h2>\n\n\n\n

Now that we have configured Incremental Refresh, let\u2019s test it out. I\u2019ll make a simple bar graph from the data we loaded into Tableau.<\/p>\n\n\n\n

\"Bar<\/figure>\n\n\n\n

Currently, we have six rows of data in our dataset. Let\u2019s add a new row to the dataset and see if Incremental Refresh will fetch the new rows from the dataset.<\/p>\n\n\n\n

After adding the new row, our dataset looks similar to the image shown below:<\/p>\n\n\n\n

\"New<\/figure>\n\n\n\n

Now, let\u2019s perform an incremental refresh on our data. Keep an eye out for how the mobile phone bar changes when the refresh is completed. To perform an incremental refresh, refer back to Step 4. <\/p>\n\n\n\n

\"Changes<\/figure>\n\n\n\n

We see that the bar representing Mobile Phones moves from 100 to 150. Behind the scenes, the Incremental Refresh pulls only the new data row from the data source. It adds it to the data extract without importing the entire dataset into Tableau.<\/p>\n\n\n\n


<\/p>\n","protected":false},"excerpt":{"rendered":"

Before we dive into the steps to configure incremental refresh in Tableau, let\u2019s first understand what incremental refresh is, why to use it, when to use it, and when not to use it! What is Incremental Refresh? Incremental refresh is a type of data extract that adds new data records to the already existing data […]<\/p>\n","protected":false},"author":19,"featured_media":4390,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[113,116],"tags":[177,11],"yoast_head":"\nHow to Configure Incremental Refresh in Tableau? | BI Connector Blog<\/title>\n<meta name=\"description\" content=\"Check out what is incremental refresh. Why to use it, when to use it, when not to use it, along with the steps to configure Incremental Refresh in Tableau!\" \/>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Configure Incremental Refresh in Tableau? | BI Connector Blog\" \/>\n<meta property=\"og:description\" content=\"Check out what is incremental refresh. Why to use it, when to use it, when not to use it, along with the steps to configure Incremental Refresh in Tableau!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dev.biconnector.com\/blog\/how-to-configure-incremental-refresh-in-tableau\/\" \/>\n<meta property=\"og:site_name\" content=\"BI connector Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-16T20:36:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-18T05:41:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dev.biconnector.com\/blog\/wp-content\/uploads\/2022\/12\/Incremental-Refresh-Power-BI-1-1536x804-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"804\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"BI Connector Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"BI Connector Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dev.biconnector.com\/blog\/how-to-configure-incremental-refresh-in-tableau\/\",\"url\":\"https:\/\/dev.biconnector.com\/blog\/how-to-configure-incremental-refresh-in-tableau\/\",\"name\":\"How to Configure Incremental Refresh in Tableau? | BI Connector Blog\",\"isPartOf\":{\"@id\":\"https:\/\/dev.biconnector.com\/blog\/#website\"},\"datePublished\":\"2022-12-16T20:36:28+00:00\",\"dateModified\":\"2023-05-18T05:41:02+00:00\",\"author\":{\"@id\":\"https:\/\/dev.biconnector.com\/blog\/#\/schema\/person\/861351d5d0c055d8c0c6d5bde42836b9\"},\"description\":\"Check out what is incremental refresh. Why to use it, when to use it, when not to use it, along with the steps to configure Incremental Refresh in Tableau!\",\"breadcrumb\":{\"@id\":\"https:\/\/dev.biconnector.com\/blog\/how-to-configure-incremental-refresh-in-tableau\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dev.biconnector.com\/blog\/how-to-configure-incremental-refresh-in-tableau\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dev.biconnector.com\/blog\/how-to-configure-incremental-refresh-in-tableau\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dev.biconnector.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Configure Incremental Refresh in Tableau?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dev.biconnector.com\/blog\/#website\",\"url\":\"https:\/\/dev.biconnector.com\/blog\/\",\"name\":\"BI connector Blog\",\"description\":\"Blog on BI, Analytics, and Integration\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dev.biconnector.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/dev.biconnector.com\/blog\/#\/schema\/person\/861351d5d0c055d8c0c6d5bde42836b9\",\"name\":\"BI Connector Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dev.biconnector.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7160ad63033671078ece993f850d16b3?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7160ad63033671078ece993f850d16b3?s=96&d=wavatar&r=g\",\"caption\":\"BI Connector Team\"},\"sameAs\":[\"https:\/\/www.biconnector.com\/\"],\"url\":\"https:\/\/dev.biconnector.com\/blog\/author\/bi-connector-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Configure Incremental Refresh in Tableau? | BI Connector Blog","description":"Check out what is incremental refresh. Why to use it, when to use it, when not to use it, along with the steps to configure Incremental Refresh in Tableau!","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"How to Configure Incremental Refresh in Tableau? | BI Connector Blog","og_description":"Check out what is incremental refresh. Why to use it, when to use it, when not to use it, along with the steps to configure Incremental Refresh in Tableau!","og_url":"https:\/\/dev.biconnector.com\/blog\/how-to-configure-incremental-refresh-in-tableau\/","og_site_name":"BI connector Blog","article_published_time":"2022-12-16T20:36:28+00:00","article_modified_time":"2023-05-18T05:41:02+00:00","og_image":[{"width":1536,"height":804,"url":"https:\/\/dev.biconnector.com\/blog\/wp-content\/uploads\/2022\/12\/Incremental-Refresh-Power-BI-1-1536x804-1.png","type":"image\/png"}],"author":"BI Connector Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"BI Connector Team","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dev.biconnector.com\/blog\/how-to-configure-incremental-refresh-in-tableau\/","url":"https:\/\/dev.biconnector.com\/blog\/how-to-configure-incremental-refresh-in-tableau\/","name":"How to Configure Incremental Refresh in Tableau? | BI Connector Blog","isPartOf":{"@id":"https:\/\/dev.biconnector.com\/blog\/#website"},"datePublished":"2022-12-16T20:36:28+00:00","dateModified":"2023-05-18T05:41:02+00:00","author":{"@id":"https:\/\/dev.biconnector.com\/blog\/#\/schema\/person\/861351d5d0c055d8c0c6d5bde42836b9"},"description":"Check out what is incremental refresh. Why to use it, when to use it, when not to use it, along with the steps to configure Incremental Refresh in Tableau!","breadcrumb":{"@id":"https:\/\/dev.biconnector.com\/blog\/how-to-configure-incremental-refresh-in-tableau\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dev.biconnector.com\/blog\/how-to-configure-incremental-refresh-in-tableau\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/dev.biconnector.com\/blog\/how-to-configure-incremental-refresh-in-tableau\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dev.biconnector.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Configure Incremental Refresh in Tableau?"}]},{"@type":"WebSite","@id":"https:\/\/dev.biconnector.com\/blog\/#website","url":"https:\/\/dev.biconnector.com\/blog\/","name":"BI connector Blog","description":"Blog on BI, Analytics, and Integration","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dev.biconnector.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/dev.biconnector.com\/blog\/#\/schema\/person\/861351d5d0c055d8c0c6d5bde42836b9","name":"BI Connector Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dev.biconnector.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7160ad63033671078ece993f850d16b3?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7160ad63033671078ece993f850d16b3?s=96&d=wavatar&r=g","caption":"BI Connector Team"},"sameAs":["https:\/\/www.biconnector.com\/"],"url":"https:\/\/dev.biconnector.com\/blog\/author\/bi-connector-team\/"}]}},"_links":{"self":[{"href":"https:\/\/dev.biconnector.com\/blog\/wp-json\/wp\/v2\/posts\/4159"}],"collection":[{"href":"https:\/\/dev.biconnector.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dev.biconnector.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dev.biconnector.com\/blog\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/dev.biconnector.com\/blog\/wp-json\/wp\/v2\/comments?post=4159"}],"version-history":[{"count":1,"href":"https:\/\/dev.biconnector.com\/blog\/wp-json\/wp\/v2\/posts\/4159\/revisions"}],"predecessor-version":[{"id":4391,"href":"https:\/\/dev.biconnector.com\/blog\/wp-json\/wp\/v2\/posts\/4159\/revisions\/4391"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dev.biconnector.com\/blog\/wp-json\/wp\/v2\/media\/4390"}],"wp:attachment":[{"href":"https:\/\/dev.biconnector.com\/blog\/wp-json\/wp\/v2\/media?parent=4159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev.biconnector.com\/blog\/wp-json\/wp\/v2\/categories?post=4159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev.biconnector.com\/blog\/wp-json\/wp\/v2\/tags?post=4159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}