Here at Tableau Public, we are so excited that all of our users have access to 1 million rows. We can’t wait to see what kind of stellar vizzes the community creates with ten times as many rows! But, before you dive right into all those beautiful rows of data, we have some tips to help you maximize performance of dashboards with such large datasets.
Extract, extract, extract! IRE members and our Public Premium customers may be using Tableau Desktop to build dashboards. If you are, making a data extract right away will make Tableau run a lot faster. If you are using the Tableau Public client, don’t worry, extracts are made automatically!
Minimize extract size. Hide unused fields and limit the extract size when you can. If your data source contains columns you don’t plan on using, don’t bring them in when you make your extract.
Everything in moderation. Don’t use too many quick filters. Don’t draw 400k marks in a view. Think about what is really necessary for your analysis.
If it ain’t fast in the program, it ain’t going to be fast online. If it is taking a long time to execute queries while you are building your dashboard, it will likely take a long time when it is published.
Be careful about how you use filters. Don’t use the “exclude” option, since Tableau will have to scan all the selected data whenever you change the filter. Avoid using the “individual dates and times” filter type for the same reason. If needed, use cascading quick filters for Years, Months and Days to show only the data that you are looking for.
Use Booleans. If and Case calculations are going to slow down performance. If you can, use a Boolean statement instead. For example, instead of a calculation that says:
IF [Date]= TODAY() then “Today”
ELSE “Not Today”
And alias “True” and “False” as “Today” and “Not Today”
Don’t use more marks than you need. Performance will suffer the more marks there are, so avoid plotting hundreds of thousands or marks. In the same vein, too many cells in a table will slow things down considerably.
Use action filters instead of quick filters. Action filters leverage the view itself as a filtering agent, saving it from having to query the entire dataset to populate the list. To create an action filter go to the menu and select Dashboard>Actions. Click the "Add Action" button to create a filter.
Exclude all values when clearing a filter. When using a filtering action, select the “Clearing the selection will: Exclude all value”s. This checkbox avoids the potentially expensive query of asking for all of the data that the dashboard is able to render.
Pare down your multiple value filter lists. Having a huge list (100s-1000s) of options to filter by will make the list load slower. Try to bundle your categories into more broad groups. If you can’t group them, consider using a wildcard search to avoid having to load all of the options at once.
Don’t crowd your dashboard with too many views. Every view on a dashboard is another query that has to be sent to the data. If your dashboard is running slower than you’d like, consider moving some views to a different dashboard or combining a view views into combo charts.
Avoid long lists and tables. Text tables or views that have over 10k rows can really slow down processing. Reduce the number of rows with filters, or consider only showing the top/bottom 100.
Avoid lots of tabs. Every tab you add to your viz adds more time to the processing. If things are slow and your tabs are getting out of hand, consider breaking things up into multiple workbooks.
Don’t use “Fit to Window” dashboards. Starting with a common size for your dashboard not only makes doing layout easier and free from surprises; it also gives the server a better chance to re-use something in the cache across multiple views and requests. When choosing the size of your dashboard, use a size template or exact size instead of automatic.
I was impressed how Tableau Public helped me create a more analytical visualization that was easy to share on the web. It’s an amazing product.