Tableau Performance Tips
Tableau performance is something many people don’t talk about but it’s very important. As developers, we are creating these dashboards for end users so the end user experience is crucial. The last thing an end user wants to do is to sit there waiting for things to load every time they do something. They will probably just give up and start scrolling through Facebook. Then you spent all that time creating a dashboard that no one can or will use. If you ever run into this problem then follow these Tableau performance best practice tips to get your dashboard running smoothly.
If you are pulling in data from a database, then try to do any complicated calculations in the database first. The goal is to try and have Tableau do the least amount of work as possible. So anything you can do before the data even comes into Tableau will be optimal.
Extract Your Data
Do not do a live connection unless you absolutely have to. If you do not need real-time data then just do a refresh schedule. You can do the schedule at high intervals, so the extract stays fresh without killing your performance. This is going to be the single most significant thing you can do to increase performance if you can’t create an extract, then you will probably have a slow dashboard, and there is nothing you can do about it.
Use Extract Filter
The extract filter will limit the data coming into the Tableau extract. For example, if you only need one year of data then it doesn’t make sense to bring in the other years. Bringing in every year for no reason will just slow things down so filter the data as much as possible before it is brought into the extract. If you end up needing the data later then just remove the filter and refresh the extract.
Aggregate Data if Possible
When you are about to run your extract, you have an option to aggregate your data. If it makes sense for your situation then check the box and this will reduce your row count significantly. For example, if your data is daily, but you are only going to be looking at monthly values then go ahead and aggregate your data up to the month. This will reduce your row count by a lot and help with performance.
Hide All Unused Fields in Extract
This is another extract option, after you are finished with creating your dashboard you can remove all columns that you are not using in your dashboard. While in the extract dialog box just check Hide All Unused Fields when running your extract and it will remove all of the columns from your extract. So at this point we removed or consolidated all the rows and now removed all the columns we are not using.
Compute Calculations Now
This option will allow you to materialize calculations in your extract. This means the calculation will be computed in advance and stored in the extract. This can save time when running a query because the calculation is already done.
Reduce Vizs with Parameters
If you have a lot of worksheets in your dashboard, then try to consolidate them by using a parameter. For example, if you have five different bar charts looking at sales, then consolidate those five charts into one by using a dimension parameter. This will save you space while helping performance.
Reduce High Marks Vizs
High marks visualizations take a long time to load so if it’s taking a long time try to reduce it or remove the chart. A good example of this is a scatter plot; you can have a million data points on the plot running a complex equation for each one. This will take some time to finish and can slow everything down.
If possible try not to use a blend. Blending is a last resort type of thing because blends are complicated, limited and bad for performance. Try to do a join instead of a blend, but there are some situations where a blend makes more sense so use your best judgment.
Use Context Filters
Context filters are not used often, but they should be. They help with performance a lot because it acts as a filter for your filters. If you make a filter a context filter, then any other filter that you set are defined as dependent filters based on your context filter. That means that the other filters will only process the data that passes through your context filter.
Less Quick Filters and More Actions
Using action filters instead of quick filters reduce the query load which will help your performance. Try to get rid of some of your quick filters and add some action filters instead.
Avoid using Only Relevant Values.
Using “Only Relevant Values” is sometimes a must or just worth the performance drag but if it is not needed then leave it as “All values in the database.” Using “Only Relevant Values” adds an extra query to each quick filter which can start to add up.
Show Apply Button on Quick Filters
I use the multiple value filter type for almost all my filters, and I always have a “show apply button” to help with performance. If you go to the filter options, under customize you can find the show apply button there. This will add an apply button on the bottom of your filter, so the query doesn’t run until you apply it.
Use Tableau Performance Recording
Tableau performance recording is a tool used to help diagnose where the performance problem is. You can find it under the help menu. You will hit start and then begin to replicate any actions that was taking forever to load. Once you select stop, a Tableau Dashboard will appear with your performance metrics.
You probably won’t have to worry about these things for most of your Tableau dashboards but when you have to create a dashboard with a huge dataset then these Tableau performance optimization tips can be a lifesaver. The worse thing is to have a dashboard that takes forever to load, the end users will probably just give up and not even look at it. Don’t spend all your time on something that no one can use, increase your Tableau performance by following these simple tips. That is it, make sure you download our 14 Tableau Performance Checklist PDF down below so you will always have these tips handy.