Tablueprints is a series where I share how to make my Tableau data visualizations. If you would like updates on future posts, be sure to subscribe. I will only email when I have something new to share and I will not share your email with anyone.
In this tutorial, we will use my 2½ Minutes to Midnight visualization to create a waterfall chart in Tableau. A waterfall chart shows the progression toward a cumulative result by showing how positive or negative values contribute to the total. In my data visualization, the waterfall chart was an effective choice for showing how we’ve moved closer to and further from “midnight” on the Doomsday Clock since its inception in 1947. We eventually end up at, you guessed it, 2½ minutes to midnight. In a corporate environment, waterfall charts can be a great choice for showing how specific segments are contributing to your end goals and/or the makeup of the final result.
In addition to the foundational waterfall chart, I’ll show you how to leverage a dual-axis to add value to this type of data visualization. In my example, the dual-axis is used to display the absolute number of minutes to midnight after each change. In a corporate setting, the second axis can be used as a nice way to show absolute changes, percent changes, or some other metric of choice. I also like that the dual-axis creates a kind of teardrop effect that helps communicate the direction of the change.
How to Make a Dual-Axis Waterfall Chart in Tableau
Before we begin, let’s take a look at how the final visual will look:
[Click image to view interactive version]
The data used to create this waterfall chart is quite simple, consisting of just four fields: Year, Minutes to midnight, Change, and Reason.
To create a waterfall chart in Tableau, start by placing the discrete dimension that will be used as your breakdown onto the Columns Shelf and the SUM of the measure that you are evaluating on the Rows Shelf. In my case, I’m looking at “minutes to midnight” as my measure and Year is the breakdown (note that Year is being used as a discrete dimension).
At this point, you’ve got a standard bar chart showing your measure broken down by your dimension. The next step in creating a waterfall chart in Tableau is to change the mark type from Automatic, which is currently Bar, to Gantt Bar. This can be accomplished by clicking the mark type dropdown menu on the Marks Shelf and making your selection. Note that if you are following along using your own data, my “Minutes to midnight” measure is essentially a running total. If your data field is absolute, and not a running total, you can convert it to a running total at this point by adding a table calculation to the measure (click the measure on the Rows Shelf, hover over ‘Quick Tableau Calculation’, and click ‘Running Total’).
All this did at this point was change each bar into a dash mark at the height of each bar. To create the blocks that will eventually end up as our waterfall chart, place the Change measure (or the absolute version of whatever measure you are using) onto the Size Marks Card.
We are getting closer, but our blocks are not lining up as would expect. After all, with a waterfall chart, one bar is supposed to start where the bar before it ended. This step is where the magic happens. To get the bars to line up properly, double-click the measure pill that is on the Size Marks Card and simply type a negative sign (-).
After applying the change by hitting Enter, the bars properly line up.
At this point, we have a serviceable waterfall chart. I have created this visualization with data that was prepared for this specific purpose. If you used a table calculation above to create a running total, you have the option to add a grand total to the view by clicking ‘Analysis’ in the top navigation of the view, hovering over ‘Totals’, and clicking ‘Show Row Grand Totals’.
While this waterfall chart is showing me the progress to and from ‘midnight’, I thought it would be better to put midnight, or 0, at the top. It’s easy to reverse an axis in Tableau by right-clicking on it, choosing ‘Edit Axis…’, and checking the box to reverse the scale.
After reversing the axis, you can really start to see the final shape coming into focus.
To make this a dual-axis waterfall chart, start by placing the measure of the analysis on the Rows Shelf a second time. This can be accomplished by (1) dragging it from the Measures Shelf, or (2) holding the Control key (on PC) while you left-click and drag the pill to create a duplicate. After reversing the axis for the second row like we did in the previous step, this leaves you with the exact same chart on two rows.
For the second row, I will change the mark type to Circle by navigating to the Marks Shelf for the second row and changing the mark type from Gantt Bar to Circle. I will also remove the measure on the Size Marks Card for the second row, which will make all of the circles the same size.
To make this dot plot and Gantt chart share an axis, click the second occurrence of the measure on the Rows Shelf and choose “Dual-Axis”.
To ensure the dots line up with the ends of the Gantt bars, right click on the second axis and choose “Synchronize Axis”.
From here, the rest is just formatting. Here are some additional steps I took to create the final view:
– Hid the second axis by right-clicking on it and deselecting “Show Header”.
– Made the Gantt bars ‘skinnier’ by navigating to the Marks Shelf for the Gantt marks, clicking into the Size Marks Card, and dragging the slider to the left.
– Colored all of the marks by their change (gray for no change; blue for one direction; red for the other direction).
– Added the Minutes to Midnight measure to the label for the circle marks.
– Added a reference line for ‘midnight’, an annotation for the current status, and changed the format of the text on the view.
My final dual-axis waterfall chart looks like this:
Thanks for reading,
Other applications of dual axes in Tableau:
– Tableau 201: How to Make Dumbbell Charts
– Tableau 201: How to Make Dynamic Dual-Axis Bump Charts
– 3 Ways to Make Beautiful Bar Charts in Tableau
– 3 Ways to Make Lovely Line Graphs in Tableau