Tableau Workbook Performance Checklist

Tableau Workbook Performance Checklist

Before you start building your visualizations and dashboards, you will want to be aware of what choices might impact performance in your workbooks on Tableau Desktop, Tableau Online, and Tableau Server.
This checklist is intended to make you aware of things you will want to consider related to workbook performance. Remember that all environments are different and there is no simple cure for workbook performance. The items below are areas to explore. Any given item may not apply to your situation or be the cause of poor performance. Always test what helps in your specific case.

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:

Enable support for referential integrity

Databases that support referential integrity support the Tableau Assume Referential Integrity feature, which improves the performance of inner joins. Joins cost time and resources to process on the database server. When you join multiple tables in a data source, Tableau uses functionality that is generally invisible to the user, called join culling. Join culling queries only the relevant tables instead of all tables defined in your join. Join culling only occurs where referential integrity is defined between tables. For more information, see Assuming Referential Integrity.

Make sure database permissions support creating temp tables

Does your database grant users permission to create and drop temporary tables, also known as temp tables, and does the environment have sufficient spool space for the queries being run? Tableau creates temp tables to help improve performance and add functionality. The temp tables temporarily hold information specific to a connection. If the creation of temp tables in the database is restricted, the overall performance of workbooks and views isn’t as fast as it could be.

Create indexes for tables

Index the tables in your relational database. To successfully index your data set, identify the fields that you frequently filter on and add them to the index. If you have a field that you use as a context filter often, consider setting it as your primary index. If you are working with Access tables that have more than 200,000 rows of data, consider setting indexes on the tables. You can learn how to do this by searching for “index” in the Access online help. You can officially store 2 GB of data (approximately 1-2 million rows) in an Access database, but it performs poorly well below this limit.
Many database management system (DBMS) environments have management tools that will look at a query and recommend indexes that would help.

Break up your data

You can often improve performance if you partition a large database table into multiple smaller tables. For example, you can create a cluster of Access tables that addresses specific subsets of your data.

Use a database server

If you have a lot of data, you might consider storing it in a database server, such as Oracle, MySQL, or Microsoft SQL Server. The Professional Edition of Tableau can connect to these larger database servers.

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

 Custom SQL
 Calculations
 Rendering
 Local Computations
 Dashboard Layout
Other Suggestions
  • Publishing to Tableau Server will not improve performance. Tune your workbook in Tableau Desktop first.
  • Use the performance recorder to identify where to focus tuning efforts.
  • Upgrade to the latest version of your Tableau product
For more information 








































































































Comments