- How data affects the performance
- While doing development just extract a sample do development with that
- Only Required data: Analysis with small subset of data improves the performance. If possible apply extract filters to just have relevant data in in extract
- Remove unused field: In order to minimize the size of extract refresh time or custom SQL query time remove the unused columns
- Centralized data source: create a tds file and publish it on the server, and let everyone use this for their analysis. This will avoid the duplicity of the same type of data extract and will improve the performance. Developers who need same type of data for dashboard development will use data from centralized location
- Use Extracts: Wherever possible use extracts for the dashboards/views as the data analysis from extract is quite faster compare to the live connection. Data analysis with extracts enables tableau in memory data analysis capabilities.
- How does filtering affect the Performance?
- Only Relevant Values: this setting enables the cascading between filters however this setting should be used only when you don’t have other options as the setting reduced the performance of view
- High Cardinality Quick Filters: these types of filters take lot of time to load so always try to avoid them.
- Range Quick Filter: Complex range reduce the performance of the dashboard so always try to keep range simple
- Context Filters: use context filters, this filter basically slice the data before applying quick filters and filters. Analysis done with small set of the data always enables the faster analysis.
- Custom SQL in Tableau
- Avoid custom SQL in live connection as custom SQL could be inefficient. In case of live connection each activity performed on the dashboard like filtering drilling hits the database to get the new data as per the interactivity’s need.
- It has been observed that parameter in custom SQL reduce the performance, try to avoid using the parameter in custom SQL. Instead custom SQL try to use view with filters on dashboard or create join between multiple tables and use filters on dashboard.
- Don’t use order by clause or similar type of clause that doesn’t have any significance to the views created in tableau
- Tableau Calculations
- Avoid complex calculations as these calculations requires more processing time, avoid data type conversion in tableau. The data type conversion should be done at the database level. When it comes to the data type calculation created with Boolean and Number data type are faster compare to all other data types here is the sequence Number and Boolean > date > string
- Dashboard Rendering
- Avoid rendering views with high marks. Basically a view with more marks card takes longer time to render therefore always try to have views with high marks.
- Marks: Marks are basically plots in your visualization, they could be bar in bar chart and point in line chart
- Use less size images or custom shapes as general rule try to keep image size less than 50 kb
- In case of JPEG use PNG images as these images take less space compare to
- Leverage the computing power of tableau server by reducing the local calculations like custom groups, hierarchies, reference lines, table calculations and calculations based on blended data sources
- Try to avoid table computations as they are dependent of the local computation engine and slow the performance of the views
- Don’t clutter your dashboard by putting too many visualization on dashboard. Don’t put more than 4-5 visualization on one screen. In case you have more than 4-5 visualization consider them moving to other screen
- The fixed size dashboards are much faster compare to automatic sized dashboard so consider having fixed sized dashboard over automatic size dashboard
- Tableau doesn’t like null data, try to define each column as the NOT NULL in database
Turn off automatic updates
- If you are dealing with very large database always pause database queries, you should pause the automatic updates at beginning, select few dimensions, measures and hit the automatic update button again. This would be helpful while doing the development. The pause of automatic updates will not render the view until you hit the button again
First, we’ll look at some basics – all too often the things you cannot change easily!
The client machine
- 64 bit OS is faster than a 32 bit OS.
- More memory is better.
- Faster disk, backplane, memory etc. is better.
- When large results sets are being returned to a client, from a server, more bandwidth is
The Tableau Server
- More memory is, usually, better.
- Faster disks are, usually, better.
- More/faster CPUs can be better.
A recent test, two side by side machines running the same pull from the Tableau server.
- IE7 returned results in 11 seconds
- Firefox returned results in 3 seconds