top of page
Millington Offices (10).png

Data Storytelling in Power BI - Bar Charts

Updated: Dec 1, 2022

"My report doesn't look that nice, and I have no idea why or how to make it look better..."

Are you familiar with this phrase? We've all been there...

Power BI is an amazing visualisation tool, but, as with any visualisation tool, it doesn't know what report you're trying to build, the data you want to highlight, the problem you're trying to solve or how you want to tell your story.

That's why you should think carefully about the way you present your data. The standard visuals (without any formatting) are exactly that, standard. You can still build amazing reports without doing any extra work around formatting, but, from my experience, most of the times you should format your chart correctly in order to tell your story in the best way possible.

Having this, today we are going to focus on one visualisation type: bar charts.

Note: Last week, I did a post about the things you should consider in your report design. Check the post here for more info: Power BI Report Development 101 - Part 1 (


Bar Charts

Bar charts are a very common type of visualisation. You shouldn't be afraid to use them too much in your report, rather you should leverage the fact that they are very common, as this means less of a learning curve for your report users.

Bar charts are usually very easy to read, this is also due to the fact they are so common. We usually compare the end points of the bars, so it's relatively easy to quickly see which category is the biggest, which is the smallest, and also the difference between each category presented.

Because of how you usually read the end points of the bars, it is important that the bars have a zero baseline, otherwise you get a false visual comparison (depending on what you're trying to highlight in your data, sometimes it's justifiable to use a non zero baseline, but that tends to be the exception, not the rule).

There are a few other things you should look at when building your bar chart (or any other chart type really):

> Chart title/description

> Legend

> Labels

> Colours

> Axis

> Position and size

> Fonts


But, the best way to tell you how to take advantage of your bar chart is probably with an example, so keep the topics I just mentioned in mind and let's go!

Case Study Example - Analysing the results of an employee survey

In this example, imagine I'm trying to analyse the results of an employee survey conducted at Contoso (my fake company).

In this survey, there were 3 main metrics evaluated: Environment Satisfaction, Job Satisfaction and Work Life Balance.

Each employee could reply with a number from 1-4, being:

1 - Low

2 - Medium

3 - High

4 - Very High

We asked someone at Contoso to build us a report, on which this was one of the charts presented:

If you work with Power BI, this chart is probably very familiar to you. This is the standard bar chart, without any formatting applied to it (except for the border which I purposely added!).

Now, look carefully at this chart, and try to answer some of the questions that the HR department would probably ask when looking at this chart:

- How satisfied are employees in general?

- Which is the metric with the best performance (employees are highly satisfied)?

- Which is the metric with the worst performance (employees are less satisfied)?

Not that straight forward to answer right?

You probably ended up going back and forward, from the legend to the bars, trying to understand the colours, then the order, and trying to organise everything mentally in your head.

If your users end up taking 5 minutes just trying to understand your visual, than something is not right, meaning that the visual can definitely be improved!

Remember, your job as a report developer is to show the right numbers, the right way, again, repeat with me: the right way! It should be easy for your end users to read your report and get the insights they need.

So, what went wrong and how can we improve it? Let's have a closer look.

1) Is this even the right chart?

Our analyst decided to go for a Clustered Bar chart. But looking at it, do you really think this was a good choice? The main insights we need to get from this chart is how well are we performing in all 3 metrics, which we can't really do in an easy way as it is now.

The Horizontal 100% Stacked Bar Chart will be a better option in this case.

This type of charts are generally used to show the totals across different categories, and are specially powerful when used to visualise portions of a whole on a scale from negative to positive, because you get a consistent baseline on both the far left and the far right, allowing for easy comparison.

Now let's look at the chart on the right (Modified chart), and ask ourselves the same questions:

- How satisfied are employees in general?

- Which is the metric with the best performance (employees are highly satisfied)?

- Which is the metric with the worst performance (employees are less satisfied)?

Did you got to your conclusions faster? Then we're on the right track!

2) Title, descriptions, and axis

Did you notice the title of this chart? This is one of the first places our users are going to look at for clues on what they're actually seeing. We are going to change the title to something more insightful, and we are also going to format it a little bit. We want our users to focus on the data, so even though you should be able to see the title clearly and straight away, the data should be what stands out.

Let's push the title to the background by using a different colour like grey and a lighter font, as this combination works really well in this scenarios.

Do you find the title more informative and easy to read now? That was the idea!

Now that our title actually tells us what we're looking at, there is really no need to have the title of the YY Axis ("Metric") nor the XX axis title, as this is not really adding anything new to our visual, in fact it's redundant information as we already stated in the title that we are looking at the Employee Satisfaction Survey, and it's implicit that the YY axis is representing the 3 different metrics.

We are also going to remove the border, as this is gives a sense of "highlighting" this visual in the page, which can be confusing when you have other visuals.

3) Data Labels

Let's think a little bit more about the story we're trying to tell in our visual and ask ourselves the same questions as before, but let's go one step further:

- Which is the metric with the best performance (employees are highly satisfied)? What's the % of employees that are highly or very highly satisfied in that metric?

Again, not that easy is it?

That's because we are missing a crucial component: the data labels!

Right now, for you to be able to answer the question above, you have to mostly guess the % value. You have to go up and down, from the bars to the XX-axis values, and you will still probably not "guess" the exact % value (you can always hover over the bar, but a lot of users will want to see the numbers straight away).

To help our users read our report more easily, we can add data labels to the different subcategories in our bars.

Note: This will work well in this example because we only have 3 stacked bars and each bar is only divided into 4 subcategories. If you have too many bars or too many subcategories this would probably not work very well. You should avoid the labels in those cases as it will most probably leave your visual too cluttered.

I'm pretty sure you are now able to answer most of the questions from before:

- How satisfied are employees in general?

- Which is the metric with the best performance (employees are highly satisfied)?

- Which is the metric with the worst performance (employees are less satisfied)?

Great job!

4) Colours and Legends

To help even more our users make sense of this visual without too many issues, we should also have a look at the colours that are being used. Too many different colours without any real meaning don't usually help your users that much.

Think about what we're trying to achieve here: we want our users to associate the left side of the chart with "bad results" and the right side with "good results".

What's the best way to achieve this with colours? If you're thinking "Red and Green" you're on the right path!

However, always have in mind the colour theme you're using as you might not want to use these vibrant colours if your colour theme is, for example, shades of blue and pink. You might want to use these colours instead (Blue for good, Pink for not so good).

Also, think about accessibility. Most colour blind users will not be able to distinguish green and red, so if you know this will be an issue, try using blue and orange for example.

In my visual, I'm going to do exactly this. I'm going to use blue to represent "good" and orange "not so good".

Having now our colours aligned with the story we want to tell, the legend could also be a lot more clearer.

We know that we start on the left with the "Low Satisfaction", and on the right with "Very High Satisfaction". We can adapt our legend to be more user friendly and easy to read:

As you can see, the colours are already telling our story. This new legend implicitly tells us everything we need to know in a fast and easy way. Bright orange corresponds to Low, light orange to Medium, light blue to High and finally the bright blue corresponds to Very High.

Our brain will automatically associate the colours with the legend, so our users don't have to use so much cognitive power to figure out what's going on.

How did I do this new Legend? Easy, I just added a text box, aligned the labels with the chart, and formatted my text accordingly.

5) Last retouches

To finish my visual, I'm going to adjust the size of the XX axis values, make them bigger and also change the colour to grey as I don't want to bring too much attention to them.

I'm also going to change the size of the metrics description (YY axis). As this can't be done by default in Power BI because we don't have word wrap yet, I will use a text box instead.

Lastly, I will just resize the chart, as the bars look way too big, this will also free up some space for other visuals we might want to add to our page!

And finally, the before and after:

Many thanks to storytelling with data, which served as an inspiration for this post, and probably many more posts to come! I already loved the topic of information design, but reading your book made my passion for it reach some awesome new levels!

Tip: if you want to become a master of storytelling with data, or you're simply curious about the subject, I highly recommend you to read the book "Storytelling with Data: A Data Visualization Guide for Business Professionals".

Interested in learning more about Power BI Report Design? Then the Power BI Report Design Bootcamp is for you!

4,304 views0 comments


bottom of page