Building a “scrollable” dashboard for the iPad in Tableau

Jeremy Bozarth
One Six Solutions
Published in
5 min readAug 20, 2018

A recent customer request for a “scrollable” dashboard in Tableau left me stumped for a while. I thought I’d share what I learned as it took me quite a bit of online search time and experimentation to reach the solution.

The customer intended their new dashboard to be accessed via standard-issue iPads (made available to each member of their management team). The dashboard width would be set appropriately for the screen size of these iPads. The dashboard length would be variable, as the vertical space required to present the last chart could differ substantially based on the dashboard user’s selection of the geography to filter to. The customer stated that they wanted the last chart to take up as much space as it needed for legibility, and that users should be able to scroll down through it by swiping their iPad screen.

I can’t share the dashboard that I made for my customer, but I have made a similar one (using publicly available data) for illustration purposes. Below is a partial screenshot of that dashboard:

Users of this dashboard may select a US Census region from the filter drop-down at top right. The top-most chart then displays overall marriage (formation) rates for that region for the years 1999 through 2016. After that we have a chart that displays marriage rates for each of the states making up the region for the same period. Since the number of states to be displayed varies by region, it isn’t possible to set a fixed height for this chart. It will have to be able to dynamically resize so that information for each state remains legible.

The first step in building this dashboard was to set its’ size appropriately. I set it to Fixed size with a width of 1024 pixels (standard for an iPad) and a height of 4000 pixels which is the maximum height that Tableau currently allows. I had first tried setting up the size using the Ranged option, allowing the height to be variable. I found that, with that option, my second chart was not consistently free to resize regardless of how I set the height range. With a fixed height of 4000 there will be white-space below the dashboard, but it’s easily ignored by the user on an iPad.

This dashboard flows vertically not horizontally, so the next step was to drop a vertical layout container onto the dashboard canvas (leaving the default “Tiled” mode selected for the layout). I then dropped a horizontal layout container inside the vertical container, checked the “Show dashboard title” option and dragged the title inside the horizontal container.

Item hierarchy on the left shows how the title and layout containers are nested

I dropped the first chart, showing overall marriage rates for a select region, into the vertical container so that it could take up the entire dashboard width. Dropping in that chart caused its’ accompanying Region drop-down to appear on the dashboard. I moved it inside the horizontal container so that it would appear (opposite the title) at the top of the dashboard. Finally, I dropped in the second chart, showing marriage rates by state, below the first in the vertical layout container.

Item hierarchy with both charts placed

Initially both charts were defaulted to dynamic height and “Standard” fit to their layout container. I set the first chart’s fit to “Fit Width” and then fixed its’ height by clicking and dragging its’ lower edge to the desired position.

“Fit Width” option is selected for the first chart. Also note the filled pushpin icon upper right; this indicates that the chart height is fixed

I set the second chart’s fit to “Entire View” but this had the immediate effect of stretching the chart vertically to take up all the remaining vertical height. In this example dashboard the effect is not disastrous, but in the dashboard built for my client this created a pronounced “funhouse mirror” effect on the chart for some geographies.

I tried to resize the second chart by clicking and dragging, but Tableau wouldn’t permit any vertical resizing of the chart. I found that I could resize the chart by selecting “Edit Height” from the chart’s options menu (down arrow in the upper right of the screenshot above). However as soon as I was able to resize I realized that wasn’t really what I wanted: the whole point was to let this chart have dynamic height, but I didn’t want it taking up the entire available vertical space.

Finding a way to get the right kind of control over the chart’s sizing took me longer than I care to admit. The solution hinged on another available dashboard object that I had not yet used: the blank. When placed as the “last” object in a layout container, a blank object expands by default to take up any unneeded space in the container after the preceding objects in that container are sized. I dropped a blank into the vertical layout container below the second chart, then made sure that the “Fixed Height” toggle (the “pushpin” pictured above) was turned off for both the second chart and the blank. With that simple change, the second chart expanded and contracted in a natural manner based on the region selection made by the user. The blank “soaked up” the rest of the 4000-pixel vertical space.

The last part of the chart, and the blank showing Fixed Height un-toggled. Item hierarchy on the right shows the blank object last inside the vertical container

I’ve since learned that the blank can come in handy whenever you need more control over the spacing of other dashboard objects and you want to stick with the “Tiled” layout type. Hopefully, paying attention to the humble blank will keep you from some of the problems I’ve encountered as you build your own Tableau dashboards!

Jeremy is a business and technical architect with over 15 years of experience delivering successful database driven solutions to mid to large-sized companies. To learn more about him and One Six Solutions, email him or visit our website.

--

--