How to Show Percentage in Bar Chart in Power BI
Showing raw numbers in a bar chart is good, but showing percentages is often better. It instantly provides context, making it much easier for anyone to understand contributions, compare performance, and see the big picture at a glance. This guide will walk you through a few simple, step-by-step methods to display percentages in your Power BI bar charts, from the quickest built-in options to a more flexible custom approach.
Why Show Percentages in a Bar Chart?
While absolute numbers tell you what happened, percentages tell you how significant it was in relation to everything else. Imagine you're looking at website traffic sources. Knowing that "Organic Search" brought in 15,000 sessions is useful, but knowing it accounted for 50% of all traffic immediately tells you it's your most important channel.
Using percentages helps you:
Standardize for Comparison: It’s easier to compare market share between products or the breakdown of survey responses when every category is on the same 0-100% scale.
Tell a Clearer Story: Percentages simplify complex data, highlighting proportions and making your main point stand out without distracting your audience with large, hard-to-compare numbers.
Focus on Proportions: They are perfect for answering questions like, "What percentage of sales comes from each region?" or "What proportion of our marketing budget is spent on each channel?"
Getting Prepared: Import Your Data
Before we start creating charts, you’ll need some data in your Power BI report. For these examples, we'll use a simple dataset of website traffic sources. You can easily create this in a spreadsheet and import it, or just follow along with your own data.
Here’s our simple "Traffic Data" table:
Source | Sessions |
Organic Search | 15,000 |
Direct | 8,000 |
Paid Search | 5,500 |
4,000 | |
Social | 2,500 |
Once your data is loaded into Power BI, you're ready to start visualizing.
Method 1: Displaying Percentage of Total on a Bar Chart
The fastest way to show proportions is using Power BI's built-in calculation feature. This method converts the values in your chart directly into percentages of the grand total without needing any code.
This is an effective method when you want the values on the axis to be a percentage versus a value chart, which we will demonstrate with a more advanced method below.
Step-by-Step Instructions
Create a Bar Chart: First, create a standard "Stacked bar chart" or "Clustered bar chart". From the Visualizations pane, select one and drag 'Source' to the Y-axis and 'Sessions' to the X-axis. You'll now have a basic chart showing the raw session numbers.
Change How the Value is Shown: In the Visualizations pane, look at the field well for the X-axis where you placed 'Sessions'. Click the small down-arrow next to "Sessions".
Select "Percent of grand total": From the context menu that appears, hover over "Show value as" and then click "Percent of grand total".
Instantly, Power BI recalculates everything. The bars will resize to represent their percentage of the total traffic, and the X-axis will change to a percentage scale from 0% to 100%.
Adding Percentage Labels on the Chart
To make the chart even clearer, you can add data labels that show the exact percentage for each bar.
Select your chart.
Go to the Format your visual tab (the paintbrush icon) in the Visualizations pane.
Toggle Data labels to On.
The percentages will now appear on or next to each bar, making your chart extremely easy to read.
This approach is fantastic for its speed and simplicity. The main limitation is that you lose the view of the original raw numbers on the axis, as everything becomes relative to the percentage total.
Method 2: Creating a 100% Stacked Bar Chart
If your data has another layer of categorization and you want to see the proportional makeup of each bar, a 100% Stacked Bar Chart is the perfect visualization.
For this example, let's pretend our data includes a "Device Type" breakdown:
Source | Sessions | Device Type |
Organic Search | 10,000 | Desktop |
Organic Search | 5,000 | Mobile |
Paid Search | 3,500 | Desktop |
Paid Search | 2,000 | Mobile |
Step-by-Step Instructions
From the Visualizations pane, select the 100% Stacked bar chart visual.
Drag your primary category ('Source') to the Y-axis.
Drag your numerical value ('Sessions') to the X-axis.
Drag the category you want to see proportions of ('Device Type') into the Legend field.
The chart will now show each traffic source as a full bar representing 100% of its traffic, segmented to show the percentage of sessions from Desktop versus Mobile.
This method is great when the composition within each category is more important than a comparison of the totals between them.
Method 3: The DAX Approach (for Total Control)
What if you want the best of both worlds? You want your chart's axis to reflect the actual number of sessions, but you want the data labels to show the percentage? This provides the most informational density on a chart and gives your audience more insights. You need to use Data Analysis Expressions (DAX) to create a custom measure. Don't worry, even beginners can do this with the simple formula below.
Step 1: Create a Base Measure for Total Sessions
First, it's good practice to create a measure that sums up your core metric. This is important before creating the more advanced formula in step 2. You’ll use this measure as the foundation for your percentage calculation.
In the Fields pane, right-click on your table and select New Measure.
In the formula bar that appears, enter the following DAX formula:
Total Sessions = SUM('Traffic Data'[Sessions])
Step 2: Create the "Percent of Grand Total" DAX Measure
Next, you will create the DAX formula for the Percentage of Grand Total Sessions, which will be displayed on top of the bars in our chart.
The formula uses both the CALCULATE and DIVIDE functions. CALCULATE makes a calculation based on a set of directions, and in our formula, the ALL Function is used to remove all the filters from the column 'Traffic Data' so we can view our full traffic, not just a smaller portion.
Just like we performed in step 1, from the fields panel, right-click on your table and select New Measure.
Copy the following formula into the formula bar:
% of Total Sessions =
DIVIDE(
[Total Sessions],
CALCULATE(
[Total Sessions],
ALL('Traffic Data')
)
)
Step 3: Format the DAX Measure as a Percentage
After you have copied this DAX Formula into the expression editor, hit enter to complete entering your DAX formula.
Specify to Power BI that your desired number type for our column is a percentage. This DAX Formula could display incorrectly if its formatting is set to text, date, or time.
After the formula is created, navigate to Measure Tools on your top Ribbon.
Change the number type for your column.
Within the Measure Tools section, adjust the formatting from general data category to Percentage format.
You can even configure the number of decimal places for your desired view. By default, this field will always be on ‘auto’ with two decimals. Add a zero if you don’t wish to display any decimal places.
Step 4: Combine Raw Values and Percentage Labels
Now, let's view your incredible work and see the impressive results.
Start to build a chart from scratch. Create a Stacked column chart. Your visualization settings for your X-axis should contain your Source values for your source column and your numerical Y values for the sum of traffic from Total sessions.
Y-axis: ‘Source’
Y-axis: ‘Total Sessions’
(Optional) You can even just make an adjustment to the original chart built in method 1.
From the format visual, select Data Labels.
Then, select Custom Labels. Your default fields are currently configured to your
Total Sessions. Delete the series information onTotal Sessionsand, from your data dropdown, select the newly added series% Total Sessions. After this adjustment, confirm that the slider for Custom Label is On and toggle off the auto-create button.Your final result will look like this:
Bonus Tip: Adding a Percentage to Tooltips Instead
You may desire to have a less cluttered look to your charts. Power BI allows you to add the Percentage as a tooltip so you don’t miss the in-depth analysis of having data and its percentage values. It can give the full picture while removing potential noise from your chart that may feel intense for some projects.
Select your chart to view the Tooltips box underneath. Go down the list past your Small Multiple configurations in the visualization pane and edit.
Drag your "% of Total Sessions" measure into the tooltip box.
Now, when you hover over each bar, you can check all your full data series in a single view.
Final Thoughts
Getting comfortable with these techniques moves you beyond the default settings in Power BI, allowing you to tell a clearer and more impactful data story. Whether using the quick "Show value as" feature, setting up a 100% stacked chart, or writing a simple DAX measure for more control, adding percentages gives your audience the context they need to make meaningful insights.
Of course, this is just one piece of the analytics puzzle. The real-time challenge is often pulling all that data together or manually repeating the process every week. We built Graphed to solve this by automating the data connection and dashboard creation process. You can connect sources like Google Analytics or your CRM and build reports using simple, plain English - no more wrestling with visual settings or formulas to get the view you need.