One of the most common questions I receive from new Tableau users is, “How much data can Tableau handle?” Further, I commonly undertake Tableau engagements with the exclusive goal of making workbooks run more efficiently. Tableau is capable of handling extremely large data sets, and the software only becomes more powerful with each new release.
That being said, providing an answer on how much data Tableau can handle is a tricky question, and that’s because “big data” is a relative term. Whenever a new field is placed on a view, Tableau queries the underlying data to visualize the answer. This works much like when a database query language like SQL is used to ask questions of a database. For this reason, the efficiency can depend on many factors including not only the number of records, but the processing power of the hardware, the complexity of calculations, the type of data, etc.
This post shares five tips I use to make my Tableau workbooks run more efficiently.
Credit: It’s hard to pick just five Tableau efficiency tips, but the following was prioritized in part because of this great Tableau post: 6 Tips to Make Your Dashboards More Performant by Nicholas Hara.
5 Tips for Creating Efficient Workbooks in Tableau
1. Think Strategically About the Data You Absolutely Need
By far the most powerful efficiency gains that I’ve witnessed were when the size of the data set was reduced by removing irrelevant data from the file. This may seem obvious, but I can’t tell you how many times I’ve seen authors attempting to visualize more data than they need. For example, if the company-wide standard for your analyses is year over year, don’t even bring in the data from three years ago. In this scenario, you immediately remove at least one-third of the data before you’ve even started!
Another piece of low-hanging fruit I often see is the aggregation of dates. For example, your company may be collecting data at the timestamp level, but if your analyses do not require hour / minute / second level views, you can aggregate the dates by day. This will significantly reduce the number of records.
These are just two common examples, but bringing in only the data you need is the first step to creating efficient workbooks in Tableau.
1b. Prepare Data Before It Gets to Tableau
In the Shape Data step of the INSIGHT Framework for Data Visualization series, I mention that I prefer to prepare my data before it gets to Tableau. While Tableau has many powerful data preparation features, they are not the primary value of the software, and there are better tools for this specific job. I recommend using a tool outside of Tableau to prepare the data set, so that once you start using it in Tableau, Tableau can do what it’s best at.
1c. Use Context Filters
I’ve combined the “first” tip into parts A, B, and C because preparing and limiting the size of the data are that critical to the efficiency of your Tableau workbooks. Another way to limit the data that Tableau is visualizing is to leverage “context filters”. Context filters are processed before anything else and can be thought of as temporary tables for your view. When a context filter is used, Tableau creates a subset of the data set limited to the filter selection; then all subsequent filters hit only the subset of the data. Any dimension filter can be used as a context filter by right-clicking on the filter from the Filters Shelf and choosing “Add to context”.
2. Limit Filters; Use Apply Button
When you think about filters as queries on the data, it makes logical sense that each incremental filter on a view will add processing time. While I don’t have a hard and fast rule for how many filters are acceptable, prioritizing which fields should be available as a filter can dramatically improve the efficiency of your views. If fields should be filtered more permanently, consider the first tip above and either filter the data before it gets to Tableau or add the filter to context to speed up processing.
One way to reduce filters on a dashboard is to use dashboard actions instead. Using a sheet as a filter or adding a filter dashboard action that runs on hover or select provides a more efficient means for filtering the rest of the dashboard.
If you are using filters, a handy feature of Tableau is that dimension filters that are being shown to end users on the view can be set to process only after all changes to the filter have been selected. For example, if you are showing a dimension filter that includes 10 dimension members, then by default, Tableau will apply the filter every time a dimension member is checked or unchecked on the filter. So if you uncheck one dimension member, the view is reprocessed; uncheck a second dimension member and the view is reprocessed again. If you would prefer that the view only process after both dimension members have been unchecked in this scenario, click the dropdown arrow on the filter, hover over “Customize”, and select “Show Apply button”. Now the filters will be processed only after the end user has made their filter selections and then clicked the “Apply” button.
3. Reduce the Number of Marks
When you think of each data point, or mark, as a record that needs to be processed on a view, this tip also makes logical sense: the more marks that need to be processed, the longer it may take for the visualization to appear. The efficiency tips to this point should have a big impact on the number of marks you are left to work with, but this is still good to keep in mind. Depending on your analysis requirements, it may not always be possible to reduce the number of marks on a view, but sometimes there is an opportunity to change the level of detail to improve efficiency. Consider ways you can aggregate data points into hierarchies and / or make the analysis less granular.
4. Boolean > Integer > Float > Date > Date Time > String
One of the most valuable features of Tableau is its ability to execute custom calculations on the fly. This allows for ‘discovery’ analytics, where you can quickly pivot through different analyses without even necessarily knowing exactly what you are looking for. While the calculations are very powerful, they can come with a cost to the efficiency of the workbook. To help get the most out of the calculated fields functionality and keep your workbooks running smoothly, think about the data types in your calculations. Not all data types are created equal in terms of efficiency, with data types going in this order from most efficient to least efficient:
Boolean > Integer > Float > Date > Date Time > String
Here is a short definition for each.
Boolean – A true or false binary result
Integer – Whole numbers
Float – Any number including decimals
Date – Date aggregated at the day level
Date Time – Date including the timestamp level
String – Text
5. Reduce Sheets, Dashboards, Data Sources
This tip not only helps with efficiency, it will help you keep your sanity and improve the end user experience. In general, the more sheets, dashboards, and data sources you have in a workbook, the more potential there is for the workbook to run slowly. This is especially true when you are combining many different sheets on a dashboard with views that are blending data from multiple data sources.
As with database architecture, your Tableau workbooks will run more efficiently if you put some thought into how workbooks can be broken down into smaller, individual files. Not only will this help with efficiency, it will be easier for you to manage and help your end users. This is even easier and more efficient if you have Tableau Server or Tableau Online because several smaller workbooks can share the same data source saved to the cloud.
In the case that I truly have several dashboards that are connected, I like to create a navigation dashboard that helps the end user locate the most relevant views for their specific business questions. If you have Tableau Server or Tableau Online, the navigation links can be set up to open new dashboards by simply adding URL dashboard actions with links to the dashboard locations online. This same technique can be used from within specific dashboards (i.e. add a URL action to run on Menu that links the end user to another dashboard / additional information).
While this isn’t a comprehensive list of Tableau efficiency tips, I have found that implementing these tactics follows (at least) the 80 / 20 rule, in that these five tips alone should help capture at least 80 percent of the possible efficiency gains in your workbooks.