The following document offers 9 key recommendations for designing Tableau Reports & Dashboards to optimize overall speed & performance, especially in big data environments.
Data Best Practices
i. Use Extracts instead of live data or custom SQL
Tableau is designed to optimize extracts for dashboard specific use, it can also create elements in cache that are precalculated for immediate use for the dashboard views.
ii. Hide all unused fields while creating a data extract
There are many fields in the data that are irrelevant for analysis purposes excluding those from the data extract can reduce the size of data resulting in better performance.
iii. Create row level calculations and aggregations at database level
These includes any string manipulations and date calculations as It saves computing at Tableau server as well as view level, resulting in faster load times.
iv. Use Data Source Filter
This allows tableau to work with most relevant chunk of data, cutting any scanning of data that’s unnecessary
View Level Best Practices
i. Use Visualizations than text tables
Tableau is designed to create visual queries, creating data dumps using Tableau is not recommended as tableau is not specialized to handle those. If data tables are warranted, then create them using ‘Actions’ from one or two layers of visualizations to narrow down to most relevant data.
If using text tables are warranted, then pre-apply a filter to display only top 50 or 100 rows, make sure that user has the ability to adjust this filter in case he wants to download complete data.
ii. Reduce/Divide number or Marks and Filters
More marks and filters you have on a single view will consume your computing budget and increase load times, sometimes exponentially. Divide them into multiple views to get the same desired results.
iii. Remove Devise Specific Dashboards & Use Fixed Size Dashboards
Tableau by default creates a mobile version of the dashboard, removing it completely will reduce the overall computation and rendering required for the Tableau file resulting in faster load times. Also check if by default you have create “Tablet” version turned on too.
Also, leaving dashboard layout to be automatic will put additional strain on final rendering of the dashboard whereas fixed size layouts can be optimized by Tableau.
iv. Clear Sorting (if not important)
Sorting no matter how simple it sounds uses heavy computing power, avoiding any kind of sort will help having faster view load times.
v. Further Optimization
Following are some additional points that can further enhance dashboard performance.
- Use ‘Page’ shelf sparingly
- Avoid using “Show only relevant Values” option to filters
- Avoid Polygon Marks
- Minimize image size – use PNG with no backgrounds than jpgs, try and limit image size to less than 50 kb with 32X32 pixel count.
- Min & Max are faster than ATTR or Avg functions.
- LOD calculations are time consuming.
- Use Case Statement to create groups instead of default ‘Create Group’ feature available,
Recommended functions in order of their execution speed are as follows: –
IF Else statement (Slowest)