Turbocharge Your Tableau Performance with These Tips
At Tableau, we take immense pride in the seamless data visualization experience we offer. Our platform ensures that viewing and comprehending data is a remarkably effortless process. Once you embark on your Tableau journey, exploring further becomes instinctive as you effortlessly incorporate additional fields, formulae, and calculations into your visualizations. However, as your visualizations grow in complexity, they may gradually lose their speed and responsiveness, which can have a significant impact on engaging your audience. In a fast-paced world where even a two-second delay can lead to disengagement, optimizing performance is of utmost importance to us.
So where do I start?
Wondering how to enhance the speed of your dashboards? The initial action to take involves identifying areas of concern through the execution and analysis of your performance recordings. Consider the performance recorder as your ultimate tool for achieving lightning-fast performance in Tableau. This invaluable feature enables you to precisely locate sluggish worksheets, lagging queries, and prolonged rendering times within your dashboards. Moreover, it provides access to the query text, facilitating collaboration with your database team to optimize performance at the database level.
Having identified the views or data connections that are impeding your dashboard’s speed, we present you with six valuable recommendations to enhance their performance. For each tip, we have included a comprehensive list of the primary factors responsible for performance degradation, accompanied by swift and effective solutions to address them. By implementing these suggestions, you can significantly optimize the performance of your dashboards.
Your data strategy drives performance
Utilizing extracts can significantly enhance performance compared to working with live data sources, particularly when it comes to prototyping. The key lies in employing domain-specific subsets of your data, allowing for faster processing. It’s important to note that the Data Engine is not designed as a replacement for a data warehouse; instead, it serves as a supplementary tool for rapid prototyping and data exploration.
Considering that extracts store data in a columnar format, the query time can be slower as the dataset becomes wider.
To optimize your data, follow these guidelines:
- Streamline the number of fields based on the specific analysis being conducted. Utilize the “hide all unused fields” option to eliminate unnecessary columns from your data source.
- Minimize the number of records by utilizing extract filters to retain only the essential data required for your analysis.
- Optimize extracts to expedite future queries by materializing calculations, removing unnecessary columns, and leveraging accelerated views.
It’s crucial to keep in mind that extracts may not always be the optimal long-term solution. The recommended range for extract sizes typically falls between 500 million to one billion rows, but this can vary depending on specific circumstances. When dealing with constantly-refreshing data and when operationalizing the view, a live connection often proves to be a more suitable choice.
Reduce the marks (data points) in your view
When dealing with highly granular data, Tableau faces the challenge of rendering and precisely placing each individual element. Each mark represents a batch that Tableau needs to process. The more marks present, the more batches are created. For example, drawing 1,000 data points on a graph is more computationally intensive than depicting three bars in a chart.
In Tableau, large crosstabs combined with numerous quick filters can lead to extended load times, especially when attempting to view all the rows and dimensions within a single Tableau view.
Having an excessive number of marks (i.e., data points) on a view can also diminish the overall value of visual analytics. It can result in large, slow, manual table scans, overwhelming the viewer with an overload of information and making it more challenging to comprehend and interpret the underlying data.
To avoid falling into this pitfall, consider the following approaches:
- Embrace guided analytics. There’s no need to cram every piece of information into a single view. Instead, compile related views and connect them using action filters. This allows users to seamlessly navigate from an overview to highly granular views, enabling swift exploration and analysis.
- Remove unnecessary dimensions from the detail shelf. By decluttering your view and focusing on essential dimensions, you can streamline the visual representation of data, enhancing clarity and performance.
- Experiment with different types of views. Explore various visualization options to present your data in alternative formats. This can provide fresh insights and potentially improve the efficiency and effectiveness of data analysis.
By following these practices, you can optimize your Tableau experience and make the most of your data visualizations.
Limit your filters by number and type
Tableau offers exceptional filtering capabilities that are both powerful and flexible. However, inefficient and excessive use of filters is a common culprit behind sluggish performance in workbooks and dashboards. It’s important to note that displaying the filter dialog in Tableau necessitates loading the dimension’s members, potentially leading to additional queries, particularly if the filtered dimension is not present in the view.
To enhance performance, consider the following recommendations:
- Minimize the number of filters being used. Having an abundance of filters on a view can result in more complex queries, leading to longer response times. Review your filters carefully and eliminate any that are unnecessary.
- Employ include filters whenever possible. Unlike exclude filters, include filters do not load the entire domain of a dimension. Consequently, include filters execute much faster, particularly for dimensions with numerous members.
- Utilize continuous date filters. Relative and range-of-date filters, classified as continuous date filters, can leverage the indexing properties of your database. As a result, they offer improved performance compared to discrete date filters.
- Opt for Boolean or numeric filters. Computers handle integers and Booleans (true/false) more efficiently than strings. When applicable, utilize Boolean or numeric filters to expedite processing.
- Leverage parameters and action filters. These features not only reduce query load but also work seamlessly across different data sources, enhancing overall performance and usability.
By implementing these strategies, you can optimize the performance of your Tableau workbooks and dashboards, ensuring a smooth and efficient user experience.
Optimize and materialize your calculations
To optimize performance in Tableau, it is advisable to perform calculations in the database whenever feasible, particularly on production views. This approach helps reduce overhead within Tableau. For calculated fields, utilizing aggregate calculations is highly recommended. Whenever possible, consider executing row-level calculations directly in the database.
Efficient calculation practices include:
- Minimize nested calculations. Similar to Russian nesting dolls, each additional layer of unpacking and building a calculation adds to the processing time.
- Adjust the granularity of Level of Detail (LOD) or table calculations in your view. The more granular the calculation, the longer it takes to compute.
- Examine the number of unique dimension members involved in LOD calculations. This analysis can provide insights into the complexity and potential impact on performance.
- Consider the number of marks (data points) in the view for table calculations. A larger number of marks will require additional time for calculations.
- Whenever applicable, prefer using MIN or MAX over AVG. AVG demands more processing power compared to MIN or MAX. In many cases, rows may be duplicated, leading to identical results with MIN, MAX, or AVG functions.
- Employ calculated groups for grouping data with calculations. Calculated groups load only the named members of the domain, whereas Tableau’s group function loads the entire domain, enhancing efficiency.
- Opt for Boolean or numeric calculations over string calculations. Computers can process integers and Booleans (true/false) much faster than strings. In terms of processing speed, the order of preference is Boolean > Integer > Float > Date > DateTime > String.
By following these practices, you can significantly improve the performance of your Tableau analyses and calculations, ensuring faster and more efficient data processing.
Take advantage of Tableau’s query optimization
Consider blending data on low-granularity dimensions to optimize performance. Blending involves aggregating data to the level of the relationship between the datasets. Keep in mind that blending is not intended as a substitute for row-level joins.
To enhance efficiency:
- Minimize the usage of joined tables. Numerous joins can significantly impact processing time. If you find yourself dealing with a data connection that involves multiple joined tables, consider materializing the view directly in the database for faster results.
- If your database is configured with referential integrity, assume its presence. This allows Tableau to optimize the querying process by relying on the integrity constraints defined within the database.
- Avoid using custom SQL whenever possible. By utilizing Tableau’s standard data connection methods instead of custom SQL, you enable Tableau to leverage database optimizations, leading to improved performance.
By implementing these practices, you can enhance the performance of your Tableau data blending and connections, ensuring faster data retrieval and analysis.
Clean up your workbooks
To optimize performance, it is recommended to streamline the scope of your dashboard. Having an excessive number of worksheets on a dashboard can have a detrimental impact on performance.
Here are a couple of actions you can take:
- Delete or consolidate unused worksheets and data sources. Keeping your workbook organized and free from unnecessary elements can greatly contribute to improved performance. Removing or consolidating unused worksheets and data sources ensures a cleaner and more efficient workbook overall.
By reducing the complexity and decluttering your dashboard, you can enhance its performance and create a smoother user experience.