We have updated our Power Tools branding. Any references to software/feature naming conventions may no longer be accurate in this article.

We’re starting a blog series dedicated to helping you improve the performance of Tableau in your environment. It all starts with the Best Practice Analyzer from Workbook Tools for Tableau. This feature lets you know exactly how you can improve your Tableau workbooks to run faster and smoother.

Each post in the series is related to specific performance issues that are flagged by the Best Practice Analyzer. If you don’t have it yet, get it.

In this post, we’ll talk about the perils of automatic dashboard sizing.


Automatic Tableau Dashboard Sizing

In the dark days of Tableau (prior to version 3.1), you didn’t have much control over dashboard sizing. Thankfully, that’s no longer the case. Up through version 7, we’ve had the ability to control how our dashboards are sized. Still, there was a problem. The default setting for dashboard size prior to version 8 was “Automatic.” Automatic dashboard sizing presents us with a couple of minor problems and one very big problem. Let’s break them down:

Unpredictable Results

With automatic dashboard sizing, it’s really hard to predict how your dashboard will look on different screens. We know some people really don’t like “wasting” screen real estate. With the huge monitors some folks have access to, there can be a lot of screen real estate to work with. The problem here is that if we design a dashboard on a gigantic 23 inch monitor and you look at it on your laptop, it’s going to look … how can we put this … NOT good. It will look very, very NOT good.

We have the same problem if we design a dashboard on a laptop and you then look at it on your 30 inch HD Flat Panel Apple Cinema display. Things won’t be where we expect them to be as the designers. The experience of one analyst could be wildly different from the next just because of how the dashboard renders on screen. NOT good.

Poor Performance

The bigger problem here, bigger even than unpredictable layouts (which is saying a lot), is performance. Tableau Server does some pretty cool stuff in the background to try to minimize the work it’s doing,  therefore maximizing performance. Tableau Server will remember every dashboard it renders and the sizes it rendered them at.

If you have one dashboard that is being viewed by five different people on different sized screens, Tableau will consider that one dashboard to be five different dashboards from a rendering standpoint. If you design your dashboard with a preset size, Tableau Server will be able to reuse its model-level cache. In other words, it will render the dashboard into memory once and then simply serve each new request for the same dashboard from memory instead of rebuilding it from scratch each time.

Of course, this only helps us the second time the dashboard is requested and only if that dashboard still exists in the model cache. I’ll take that over the alternative (not reusing cache) any time.

Lessons Learned

In the end, it’s simple. Get in the habit of setting a defined size for your dashboards (NOT automatic), and you’ll have more control over the layout of your dashboard when it renders on different size monitors. Even better, if your audience is consuming your dashboards through Tableau Server, they will (probably) get better performance!

Curious about other Tableau workbook performance best practices? We have a growing list of posts to help you out. Here are the topics we’ve covered so far: