Six Things That Are Killing Your Dashboard Performance
There are a few quick changes you can make that will improve your dashboard’s performance from slow to pro. These changes can take your dashboard from a minute to load to less than 5 seconds. Check out these tips to get your performance humming.
1. Grand Totals
Seeing grand totals is important to help put your data in context, but this feature can be a performance killer. The Totals and Sub-Totals feature in the Analytics Pane or drop down sums across all the marks in your view and then adds them to the bottom or right side of your view by default. Using the feature causes Tableau to run another query after it’s rendered the view to calculate the totals.
Your options are to either turn this feature off or mimick the Grand Total feature without killing your performance.
To mimic the Grand Total feature:
- Duplicate the sheet with the total
- Remove the dimension that you don’t need to show from the Rows or Columns shelf
- Add a Calculated Field or Ad-Hoc Dimension with the text “Grand Total” or “Total”
- Add the new sheet next to the original sheet in the dashboard and set sheet padding to 0 on the side between the two sheets.
Voila! Now you have a separate sheet that computes the total using the awesome aggregation features in Tableau.
2. Not Using an Extract
Extracting your data is another solution that can dramatically improve performance. While they’re not ideal for every situation, if you can use an extract, your load times will improve dramatically. Tableau has invested a lot in their extracts and they are designed to optimize all the features within your workbook.
There are several ways to create an extract, either from the Data Pane (IMAGE), the Toolbar (IMAGE) or from the Data View (IMAGE). If you find it’s taking a long time to create the extract on your computer, use this hack to get Tableau Server to do it for you.
3. Too Many Fields in the Datasource
While it’s tempting to grab every field from the table you’re using, this too will kill your performance. Creating a datasource that’s aggregated to the right level and includes only the fields needed for your dashboard is critical for performance. However, actually getting the minimum data needed isn’t always an option.
If you’re using an extract, there’s an option at the bottom of the dialog to “Hide All Unused Fields”. If your data source has a ton of dimensions and measures, this will hide them and exclude them from the extract that Tableau creates. This helps reduce the size of the data and improves its performance. Be sure to use this option later on in your development process as it’s a bit annoying to have to go back and unhide each dimension or measure as you’re creating views.
4. Showing Too Much Data
Whether you’re using an extract or not, showing a ton of marks will kill your performance. Each mark has to be returned by the query from your datasource and then have any additional calculations applied to it.
Tableau makes it easy to quickly see how many marks you’re showing by giving you a count in the status bar. Open up a view and check the number of marks in the bottom left corner. If you’ve built a bar chart or scatter plot with thousands of marks and some complex calculations, it will take a while for it to load.
A quick way to reduce the number of marks is to only show the minimum data needed by default. If you’re using time as a component in your dashboard, you can create a parameter which changes the date level that’s shown to the most recent. A simple trick is to create three custom dates at Year, Quarter and Month and then reference them using a CASE calculated field and a parameter to show the data at the highest level by default. Another option is to only show the most recent data by default and allow users to see all the data by changing a parameter.
5. Quick Filters
Quick filters are great, but each one adds just a bit more time to your dashboard’s load time. When you add a quick filter, Tableau is running a query for each filter that’s referenced in the sheet. If the quick filter uses the “Only Relevant Values” option, it requires that Tableau finds the distinct values of each filter based on all the other filters. Work with your end users to understand how the use the dashboard and this will help you remove unnecessary filters.
6. Using the performance monitoring tools from Tableau
This isn’t an actual change you can make to the dashboard, but it makes you aware of how your dashboard is performing. Tableau provides tools in Desktop and Server to help you monitor and understand what’s affecting the dashboards performance.
At the workbook level, the Performance Recording tool will record the time it takes for every action to run. To use it, go to Help > Settings and Performance > Record Performance and clock “Start Performance Recording”. Go through your workbook and use the dashboards / sheets/ filters which perform the worst. Once you’re done, go back to the Help Menu and clck “Stop Performance Recording”. Initially, it will seem like nothing happened, but Tableau will automatically open the Performance Recording workbook.
On the server side, the “Load Time for Views” dashboard in the Status tab is where you can see how your dashboard is performing in the wild. It doesn’t give you the same event level data as the Performance Recording Workbook, but it’s useful to see how the dashboard performs at the aggregate level.
Thanks for checking out all of these tips! If you have any questions or feedback make sure to email me at email@example.com!