How to Improve Tableau Performance
Today we’ll be learning how to increase performance of Tableau Dashboard or server. Here is broad list of Tableau performance best practices and methods. Some times the dashboard takes too much to apply some filter to work or while moving to other tabs. These techniques and best practices will be very helpful to solving those issues and improving the Tableau dashboard performance.
Ask Tableau users what they love most about Tableau, and they’ll likely say it’s the ability to create stunning data visualizations quickly and easily. Tableau was designed with usability in mind, apparent in its approachable interface, yet behind that interface lies a powerful collection of components capable of cranking out complex data visualizations at lightning speed.
Of course, excited users inevitably find ways to bog things down. It’s easy to do. The good news is that we learned from these mistakes and took the time to jot down a few ways to maintain peak performance. So whether your Tableau Server is running slow or Tableau Workbooks seem sluggish, our Tableau Performance Checklist is here to help with performance-saving best practices. We hope it helps you as much as it’s helped us.
The List
The Tableau Performance Checklist is divided into seven main categories. You’ll find those categories with their subsequent best practices in the master list below:
Data
-
Keep analysis simple. Work with a subset of your data. Extract a sample if needed.
- Bring in only the data needed for analysis. Consider adding a data source filter or using an extract. If using a join, minimize the number of joined tables.
- Use “Describe” to explore dimensions in new data sets without having to load them into a viz (keyboard shortcut CTRL+E).
- Remove unused columns (measures/dimensions) in order to minimize extract refresh time or custom SQL query time.
- Create a published TDS file for your business team to use rather than each analyst creating their own data source. This includes all metadata associated with dimensions, measures, calculated fields, hierarchies, sets, parameters and naming conventions.
- Use extracts wherever possible to accelerate performance. Hide unused and confidential fields. Roll up data granularity by pre-aggregating or filtering. Break hierarchies to only visible dimensions.
Filtering
-
Minimize the number of quick filters. Use dashboard filter actions where possible.
- Avoid selecting “Only relevant values” for your quick filters. This requires sequential queries. Do not use this when not needed.
- Avoid high-cardinality quick filters (multi-select or drop-down lists). High-cardinality quick filters are slow to load and render.
- Avoid quick filters or actions that drive context filters. These require reloading the context table and should be avoided wherever possible.
- Keep range quick filters simple. The more complex the range, the slower the query.
- Replace quick filters showing “Only Relevant Values” and high count of quick filters with dashboard filter actions. They will cascade as your user interacts, and they perform faster.
- Don’t be lazy with user filters. Security by user filters can impact performance on Tableau Server as the server cannot share connections and query caches if user filters are active. Consider building a summary view that is a user-agnostic overview using a pre-aggregated extract with underlying data hidden. For a detailed view, restrict it to specific users or active directory groups instead of user filters.
Custom SQL
-
Limit custom SQL in live connections as they can be inefficient. Where possible, create a view on the database server to implement your custom SQL and connect Tableau to your view.
- Avoid parameters in custom SQL in Tableau. Tableau wraps the custom SQL in a subquery that many databases don’t handle well. Consider building a view in the database or use a multi-table join with filters.
- Watch for useless clauses, e.g. ORDER BY. Tableau is going to re-sort the data once loaded anyway.
Calculations
-
Use calculated fields carefully. Think about the data type as you code the calculation. Number and Boolean > date > string calculations when it comes to performance.
- Limit blended calculations. They require sequentially querying multiple data sources and can be time-consuming. Where possible, create a view on the database server.
- Avoid row-level calculations involving parameters.
Rendering
- Avoid high mark counts. More marks = longer rendering time.
- Limit the use of detailed text tables with lots of marks.
- Minimize the file size of images or custom shapes where possible. As a general rule of thumb, keep images under 50kb.
- If using custom shapes, use transparent background PNGs instead of JPGs. Views will render cleaner, and shape files will take up less space.
Local Computations
-
Even if a workbook is published to Tableau Server, local computations still impact performance. Leverage the power of Tableau Server whenever possible by limiting local computations such as groups, hierarchies, reference lines, table calculations and blending.
- Table calculations are powerful, but they can be slow. They are dependent on the local computation engine and can require substantial memory.
Dashboard Layout
- Limit the number of worksheets on a dashboard. If you have more than four visualizations on a dashboard, strongly reconsider.
- Fix dashboard size relative to end-user consumption. Automatic sizing is less efficient than specifying dashboard size.
Further readings and sources-
The Tableau Performance Checklist (Source)
Tableau Performance Checklist 1
The Tableau Performance Checklist 2
Improving Database Query Performance
Thanks for reading! Keep visiting Analytics Tuts for more tutorials.
Good write up! Covers all aspect , you can also write about performance recording and optimize extract options.
Great and good to know