Econimist’s daily chart is a one of my daily data porn stops. They take interesting data sets and visualize in compelling ways. While the daily chart page is insightful, sometimes they make poor charting choices. For example, this recent chart visualizing how countries spend their money uses a variation of notorious bubble chart. Click on the chart to enlarge.
What is wrong with this chart?
Bubble charts force us to measure and compare areas of circles. Unless you have a measuring tape somehow embedded in your eyes and you are a walking human scientific calculator, you would find this task impossible.
So when you look at the chart and want to find out what percentage Japanese spend on restaurants or how much Americans pay for housing, your guesses will have large error margins.
Not only bubble charts are difficult to read, they are very hard to align. So when you have a bunch of bubbles, no matter how hard you try, your chart looks clumsy (see how the Russian food bubble eats in to Mexico’s bubble, as if it is too hungry 😉 )
Let’s check out a few alternatives to this chart
The simplest alternative for all the bubble madness? Use bar charts!
Bar charts are easy – you can make them in no-time, your audience can read them in no-time. 2X time saved. What not to like 🙂
Alternative 0 – Straight replacement of bubbles with bars:
This one is simple. We take the data, apply conditional formatting > data bars on top of it. We can add an additional rule to show only MIN & MAX values in each row and hide the rest of the values with a custom formatting code – ;;;
This is what you get:

The above chart is way better than bubbles. If you want to shift the focus from country to expense category, you can transform the same chart.
Related resources:
Alternative 1 – Transformed bar chart

Again, same techniques, applied on transformed data set.
Alternative 2 – Highlighting above & below average values in different colors
While conditional formatting data bars are fun and simple, they can only show up in one color. So if you want a few bars to be in different color based on a condition (for ex: all values less than average in different color), you need to venture beyond the data bars.
We can use 2 techniques:
- Create in-cell bar charts, using REPT formula and color the bars with conditional formatting
- Create a regular bar chart with two series of data – above & below average and color them differently
REPT formula approach is fun and easy. Using that, we get this:

Related resources:
Alternative 3 – Adding labels to MIN & MAX values too
Once we have the REPT() based chart, we can add extra columns to conditionally show the data labels too.
This is what we get:

Download ‘how they spend’ chart alternatives
Click here to download the Excel workbook containing all these charts. Examine the formulas & conditional formats to learn more.
More charting stories & case-studies
Check out below examples to learn few more powerful ways to tell stories using charts. 
- Changing stubborn opinions with visualizations
- Narrating the story of change – Excel charting case study
- Evolution of Facebook privacy policies – Excel Panel Chart
- Visualizaing survey results – incell panel chart
How would you visualize this data?
What do you feel about the bubble chart? If you think it is a poor choice, how would you visualize this data? Please share your thoughts and implementations in the comment section.
















21 Responses to “Distinct count in Excel pivot tables”
The distinct count option works well but I have found that if I have a date field and want to group by year, month, etc. that option seems to be disabled. I need to do both, distinct count and group by year/month.
Example data; sales orders with item quantities with dates.
Challenge; sum the item quantities, count the distinct orders and group by month. How do I do this?
Perhaps that's not possible due to the grouping?
@Al... When you use data model based pivots, you cannot group values manually anymore. Why not use Excel 2016's default date grouping option? In this case we have just a few dates, so Excel is not grouping them, but if you have an year's worth of data, when you make the pivot with date in the row label area, Excel automatically groups them. If you have fewer dates or want to use your own grouping, just create a table with all dates, add columns with month, week, year etc. Then connect this table (these types of tables are usually called as calendar tables) to your data on date field as a relationship. Now you can create reports by month, quarter etc easily.
Is this the only way to do it in 2013? I find it rather cumbersome to have to create another data table listing dates with the another column for MONTH() and YEAR() to be able to summarise data for senior level...
I know people find adding calendar tables cumbersome, but it is a best practice and let's you add more layers of analysis quite easily. For example, adding analysis by weekday vs. weekend or by financial quarter or YTD calculations (you would need either Power Pivot DAX or some very carefully setup pivot table value field settings)
I had absolutely no idea this was possible. Very useful, nice work!
Doesn't work for 2010 version though (or at least not my works version)
Hi ,
The post has the following in it :
These instructions work only in Excel 2016, Office 365 and Excel 2013.
when i have 2 different Pivot tables, one without the enabled “Add this data to data model” option, and the other one with it enabled.. is there anyway i can link slicers between them?
if the answer is NO,, what to do ?
Quick note, the “Add this data to data model” option is not available for the Mac version.
perhaps outside scope of this article but I have found when I attempt to create a pivot table from an external data source (connection to a sql view) the "Add this data to data model" becomes greyed out. Anybody experienced and found a solution so I can start getting distinct count in my pivot tables?
Is there a way to still add a calculated field when using distinct count?
I found I can't change the date source after tick the " add this data to the data model", can you help to adv how to change the date source in such case?
Is there a way to update the source once you have added to the data model? I receive a new spreadsheet weekly and would like to update the connection so my tables pull from the new source.
Hi Crhis, I like how you have hulk (superhero) as your avatar. Do you know that there is a superhero in Excel too? It's Power Query. You can use it to solve your problem in a simple click. Here an intro if you need some guidance.
Powerful Introduction to Power Query
A big Thank you. It worked.
Hi, have survey data that I need to analyze but the challenge is that my key fields are showing horizontally. I tried to transpose the fields using Power Query, but unfortunately the new fields are returning same values on a pivot table despite using distinct values
How I can a do a pivot table with discount conts in some columns and then generate shor report filter pages. pls it drives crazy
Hi. Why grand total pivot of distinct count is 13? shouldn't it be 67?
Great Answer! Saved me lots of time!
Thank you!!!
Worked awesome! Thanks!!
Hi Chandoo,
I am using pivot tables for distinct count and now I need to update them with new set of data. But when I update the source data, all the columns and formatting of Pivot table disappears and I need to build it from Scratch.
Is there a possibility that I can update the source data with new rows added and also retain my pivot tables?