Edit: The below article is very out of date. The introduction of the Tableau Data Server solved this huge problem of inefficient duplicate Tableau data extract updates. Back in 2012 things were quite different…

My thoughts back in May 2012

My employer is still using Tableau Server 6.1 – or 6.1.6 to be precise. I’ve been trying to work out how the extracts work when pulling from a SQL Server. Ideally I would like to share the same extract across multiple dashboards.

Some of my extracts take a long time to update and some of these are duplicated across multiple dashboards. Instead of refreshing the extract multiple times, once for each dashboard, it would be far more efficient to update just once. Then all dashboards could connect to the same source, creating a single source of Tableau dashboard truth.

What I was hoping was when connecting to a Tableau data extract is when the published extract updates then any dashboard using this extract also updates. It seems this isn’t the case. Once the extract is published the data within it remains static. It appears when connecting to the data extract and publishing the workbook Tableau duplicates the extract. It’s the duplicated that updates when the dashboard updates. In other words the extract published individually to the server doesn’t alter but the duplicate Tableau made embedded in the dashboard does update.

The bad thing about this is the extract needs updating individually in each workbook published. If the extract is slow to update this uses a lot of server time. For example if the refresh takes one hour and three different dashboards use it, that is three hours to refresh. If sharing data sources that would be only one hour. If there are many dashboards to refresh on the Tableau Server this quickly becomes a problem.

I think the real benefit of publishing an extract separately is to share / re-use the exact same extract. For example all of the same dimensions, measures and calculated fields across multiple dashboards, a single source of the truth. Currently I’m producing some detailed reports about certain areas of the business, all based from different extracts. These also need to combine into a summary dashboard. Each Detail report is built from one extract and updates daily. The summary dashboard is based from many of these extracts. During the daily Summary data refresh all of the extracts update, however they have already updated in the detail dashboards. It’s a duplication of effort.

I believe Tableau Server 7 handles extracts in a much more efficient way – hopefully I’ll get to try it soon and be able to write how great it is :-)