When designing a dashboard in any business intelligence tool, performance is often the last requirement addressed. Poor performing reports with long load time are hard to use and can result in low adoption by users. It requires much less time and effort to address performance as part of dashboard design, rather than apply performance improvement […]
When designing a dashboard in any business intelligence tool, performance is often the last requirement addressed. Poor performing reports with long load time are hard to use and can result in low adoption by users. It requires much less time and effort to address performance as part of dashboard design, rather than apply performance improvement standards in Production.
So you are getting ready to apply best practices to speed up the performance of your Tableau Dashboards and you’re looking to know which best practices will improve your performance the most. We have chosen to highlight how to apply these best practices in Tableau, but these standards should be applied across all business intelligence tools. There are many best practices to consider when designing a dashboard, but we will highlight the top 5 for best performance results:
1. Avoid Joins Between Different Types of Data Sources
Many dashboards try to link Excel spreadsheets and a database table, or a database table and Tableau extract. Combining data from different sources can be detrimental to performance. When joining fields across these sources, Tableau has to work especially hard to process the data from Excel, a database table, and an extract, then aggregate it, use it in calculations if applicable, and visualize it. Additionally, as a general report development best practice, you should avoid many-to-many joins, i.e. joining fields between two tables that have many instances of that field value in both sources. The larger the table size, the more the performance issue is compounded, and the more processing Tableau has to do to load the dashboard.
2. Keep Calculations Simple
Avoid creating complex table calculations in your dashboard. Where possible, put these calculations (especially conditional logic) in a database or the root source of your dashboard, rather than having Tableau do the processing.
3. Limit Reports Used In Dashboards
Dashboards can quickly get busy with multiple visualizations. Not only is it important for clarity of message and conveying key data points to the intended audience, but multiple visualizations pieced together on a dashboard can slow load time in Tableau dashboards. As a general rule of thumb, keep your dashboards to displaying four reports (sheets, tabs, etc.) or less.
4. Pre-Filter Data
The more filters you can apply in your dashboard, the less records Tableau has to parse through and bring back for your visualization. Applying filters to your data sources before bringing your data into Tableau will improve performance. Filtering on date is especially important to help reduce the number of records Tableau needs to process. When you aren’t sure of the size of your data, you can check the bottom left side of your Tableau sheet for the # of records (marks). The higher the number, the more data you are bringing into your dashboard.
5. Use Parameters to Filter Dashboard
All too often, quick filters are used in Tableau dashboards to filter data. Parameters are a more efficient way to accomplish the same outcome. The processing time can be saved and result in a faster report load time. Rather than having Tableau display all of the possible values for a user to choose from, the user has to know the value and type it in to a parameter, i.e. product ID, region, and sales manager. A business case to use a parameter would be when the user knows the values to input, i.e. hotel property codes for their sales territory. If the number of possible values to choose from is lengthy, this would be a good case to use a filter drop-down.
What are some examples of reporting best practices you follow in Tableau or other tools?