Power BI Makeover (Column Chart Edition)

Here on People-Friendly Power BI, I talk a LOT about how Power BI is horrible at visualizing data effectively (and by effectively, I mean in ways that are easy to understand so that decisions can be made, actions take, processes progressed, etc., etc.)

Sure, I’ve talked about how Power BI is completely awful on mobile devices (without a lot of work), how the entire visual system that Microsoft uses to develop is wrong, even why you shouldn’t (and probably don’t have to) use most external Power BI visuals (add-ons made by other developers).

This is all in the cause of helping people make Power BI visuals and reports that are effective and engaging. You know… people-friendly.

So, I definitely have opinions.

While I’ve started posting about better ways of making visuals in Power BI, like in the Essential and Advanced ways to make Bar Charts the best way in Power BI, and also alternatives to Bar Charts, I think it would also be useful if I took “official” visuals shown by Microsoft as examples of what Power BI can do and make them over.

Put your money where your mouth is, Joe! (okay, fine. challenge accepted.)

Why make them over? Because Microsoft’s examples are horrible. Capital H Horrible.

Let’s dive in and have a look at our first example and how it can be worlds better.

Here’s what we’re making over today:

This is a column chart shared by Microsoft in their “Sample Datasets” section of their Power BI site. They contracted with a company (and probably paid a ton of money) who call themselves “pioneers… shaping key features of Power BI…”

Now, you could quibble with me and say “Joe, this is just a SAMPLE”, but if you’ve seen a few Power BI dashboards, you KNOW that everyone (except me and a select few other people) designs charts just like this in Power BI.

How many things can you see wrong with this chart?

Almost everything is wrong with this chart. Let’s circle all the wrong things:

The biggest issue here is that it’s totally unclear what the point of this chart is. What is the message that is important to communicate to viewers?

We need to decipher what the point of creating this chart is. It looks like it’s showing “year over year” (YOY in data-speak) change over 12 month rolling periods across 3 regions.

So, it looks like they’re trying to show TWO things with this chart.

First, change over time (it looks like the change is more pronounced at the beginning and end of the chart, and minimal in the middle.

Second, they are trying to compare 3 different regions against one another.

We can use that “point” to determine how to visualize this data better.

It’s not hard to choose a chart type when you know the point / message / “raison d’etre”… and because there are TWO points to this chart (showing change over time AND comparison), that’s a clue that this data MAY be better communicated using TWO Charts.

So here are some options for telling these two data stories better, and this includes not only choosing the right chart type, but paying attention to your Title, your Legend, and your Axes… all important assistants that help your viewer, when they are built correctly.

Makeover A: Regular Line Chart

Makeover A: Regular Line Chart

Use a regular line chart when you want to show change over a time for just a few categories of data. 3 is about the maximum, as it gets too messy with more. Even these 3 are a bit messy.

Did you spot the color change? Ditch those green/red stoplight colors. Not only are they bad for people who are color blind, but because so many (bad) charts are made with red and green to denote bad and good respectively, a green line could be interpreted as good and a red one as bad for no valid reason whatsoever.

You’ll also notice we added a title that tells the viewer a story about the data. We also got rid of the legend and added Series Labels instead, embedding our legend at the ends of our lines.

We also fixed the horrible X-Axis Microsoft had with months labeled in reverse numerical order (see the “before” version above).

Makeover B: Small Multiple Lines

While the above Line Chart works just fine for showing the overall trends of all 3 lines as a group, it gets a little difficult to quickly figure out what’s happening in each individual line.

That’s when splitting a chart into small multiples is fantastic:

When you need your viewers to quickly see the nuances of each line, split them into Small Multiples. Quick and easy.

Makeover C: Small Multiple Diverging Columns

We can still have a column chart option, but let’s use the Small Multiple option again so the changes in each Region are easy to see AND we’re going to use a diverging color scheme to easily show when the Year-over-Year change is positive or negative. Users don’t have to look over at a Y-Axis to see if a value is positive or negative. The direction of the bars and their color does it for them.

I’ve labelled just the starting and ending columns here, but that’s customizable too, if you want to highlight just the highest or lowest bars, for instance.

3 Makeovers, all 3 way clearer (better) than Microsoft’s

Go scroll up and look at the “before” chart from Microsoft. How long does it take you to figure out what’s happening in the data over time AND in each Region? It takes a while, and honestly, most viewers will spend 10-15 seconds trying to figure it out before thinking “I have better things to do” and clicking away / turning the page.

ALL 3 of our makeovers communicate the message of our data quickly and easily.


  1. Joe, for the Small Multiple Diverging Columns option (C), how would you handle the month labels? Do you leave them out entirely? Put them at the very bottom of all the bars?

    1. Hey Glenn!

      Great question! I think it depends on the story you’re trying to tell. If your audience knows the months go from Jan-Dec, you can get away without them (like I did here, focusing on the divergence).

      BUT, Power BI has great custom label options now, so you could even put the months IN the value labels. I’m thinking of a situation with Jan-Dec data like this, but say JULY is a super high value, and you want your audience to know the value AND that it’s July, specifically. TOTALLY doable. 🙂

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>