In this article, I wanted to touch on a visualization that was part of the initial release of Power BI, but one I seldom see on Dashboards or requested by Business Users: The Waterfall Chart. What is it? How do I set it up? What is it useful at displaying? How does it differ from a simple Column chart? We’ll answer those questions below.
What is the Waterfall chart?
A Waterfall chart is a column type chart that shows aggregated data over time. It is useful for displaying the individual components of a measure and how they continually contribute to the overall number. Something like ‘Variance to Goal’ would make good use of a Waterfall chart. I’ll explain more of the features as we explore and set up a simple example.
For this exercise we’ll make up some data in the Power BI Desktop designer. Click the Enter Data button on the Home ribbon and enter values and Column Headers as follows:
After clicking OK and loading the table, format the Date column as “(MMMM, yyyy)” and the other two as your favorite currency. That’s it. That’s all we need to move on to some charting. And first up will be a Clustered Column chart showing both Sales and Sales Goal side-by-side for the 12 months:
Because the default for a Column chart is to show the full height, this particular comparison, where the variance between the two numbers is relatively small compared to the total height, the eyes may have a hard time differentiating the columns. Also, we have to work hard to find the four months where the Sales value was below the Goal.
I see this type of visualization often and every time I think, “There’s got to be a better way to show this.” Fortunately, there is, but we need to add a variance calculation. Let’s add a Calculated Column to the table with the following formula:
Sales Goal Variance = [Sales] – [Sales Goal]
This should also be formatted as currency. Charting this value in a simple Column chart will give us a little more insight into how the variance has changed over the course of those same 12 months:
This is a little easier to understand, particularly when it comes to determining when the Variance is negative or positive. But it still lacks the ability to show at what point, for example, we recovered from the shortfall in January and broke even, or if we are above or below our Goal for the entire year.
As useful as this plot is, there is an even better way. Here’s what the Waterfall chart would do with these same data points:
- Plot negative numbers in a different color than positive ones.
- Start each succeeding month at the point where the prior month ended.
- Show a total (positive or negative) for the entire time frame.
For example, if we could slide down the February column so that it started at the end of January’s ($2K),
then slide March’s $500 down so it starts where February ended at ($1k) ( = ($2K) at the end of January + $1K added by February ) and so on, the result would be a Waterfall chart as show here:
The resulting plot is an easy to understand column-type chart showing how each monthly segment contributed to the overall value for the total period. From this chart, we can easily pick out the following tidbits from our data that were not readily available in either of the two previous chart styles:
- January was disastrous we knew, but by the end of April we had recovered and were back on track.
- We had four consecutive months of Sales greater than the corresponding monthly Goal (February through May), then settled into a back-and-forth for most of the rest of the year.
- November was just as bad as January, and brought us slightly behind the Goal for the year.
- December’s gain was the best, and brought us over our Goal by a wide margin.
How do I set up a Waterfall Chart?
The Waterfall chart is one of the easiest in Power BI to set up. There are three very basic steps, as outlined below, and which need not be done in the order specified.
- Select the Waterfall chart from the Visualizations palette. If you have not already added any other elements, it will add a blank chart to the report canvas.
- Select the Y Axis. In our case, we used a Calculated Column called Sales Goal Variance, which, being a numeric data type, was automatically summed by default. We could have just as easily selected a Measure that already had the appropriate aggregation defined.
- Select the Category. Typically, a date type is used here, and be careful after selecting as Power BI tends to create Date Hierarchies which must then be manipulated. For this exercise, since my data was already at a monthly grain, I by-passed the hierarchies and went straight for the Date column.
There are some useful format options, too, that should be noted. The most prominent one is the Sentiment Colors option. With this, the designer can assign colors to the Increase, Decrease and Total bars if, for example, the data was such that a DECREASE was favored over INCREASE.
How does a Waterfall chart differ from a Column chart?
As shown, the two are very close in layout, but there are some major differences:
- The Waterfall chart cannot show a Series, such as Territory or Product, as either stacked or clustered, like a Column chart can. It is limited to one value only.
- It does not allow superimposing of a line with a secondary Y axis that shares the same X axis.
- It can only be displayed with vertical columns and does not allow horizontal bars.
What is a Waterfall chart useful for?
Limitations above aside, the Waterfall chart is still quite useful in the right situation and with the right data. As already shown, when plotting a variance, numbers where there is a potential for negative values, the Waterfall chart excels. It gives somewhat of a Year-to-Date look and feel of the data without the need to write the DAX expression. Note that the ending point for each month (the top of each green column and the bottom of each red column) represents the point of YTD Variance for that month. (I sometimes refer to a Waterfall chart as a ‘poor man’s YTD’.)
Consider the following Column chart that plots the DAX Measure:
YTD Variance = TOTALYTD(SUM(‘Table1′[Sales Goal Variance]),’Table1′[Date])
This plot is, I believe somewhat misleading to the viewer, even though the ENDS of each monthly column correspond with the ENDS of the columns in the Waterfall. All we can tell for any one month is where we are in YTD Variance, but not how we got there. To arrive at July’s YTD Variance value of $750, for example, we had to DROP from June’s point of $1,750, something that the Waterfall chart clearly indicates, but something we need to derive in the above plot based on the position of July’s end point relative to June’s. Our Sales Goal Variance was NEGATIVE for July, but the above plot seems to indicate that July was POSITIVE!
And lastly, YTD plots always end at the end of the year because, well, that’s in their definition. A Waterfall chart can span multiple years with ease, or even be sliced or filtered to start at a different point along the X (Category) axis. The plot below charts the same data, but shows April through October.
Hopefully, now that you understand the benefits and limitations of the Waterfall chart, you’ll be more inclined to introduce it and explain its benefits to Business Users for displaying variance data.
Also by this author: KPI’s in Power BI, Not as Hard as You Think.