cancel
Showing results for
Did you mean:

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Helper I

## Get average of number of brands purchased

Hi everyone! I've seen this question answered in different forums but for some reason solutions won't work for me.

I have a column with Customer ID and another one with Brands. Each customer can buy any of the 12 brands many times.

I need to know the average brands bought per customer.

For example:

 Customer 1 Brand A Customer 1 Brand B Customer 1 Brand C Customer 2 Brand A Customer 2 Brand A

So here customer 1 bought 3 brands and customer 2 bought 1 brand twice. The number I'm looking for would be 1.5. This is 3 brands + 1 brand divided by 2 customers.

I've tried a lot of things but couldn't find a good DAX formula since they all return either the 12 brands or the amount of customers.

I'd appreciate your help! Thanks everyone!

1 ACCEPTED SOLUTION
Resolver I

Try this in a card. or in the table with customers as rows

Better Average = SUMX(VALUES(Brand Column]), [AVG Brands])
10 REPLIES 10
Resolver I

Here is the formula for a new measure, put this measure into a card to get the final average number of all brands for all customers:

Average Number of Brands = DIVIDE(DISTINCTCOUNT(Table[Brand]), DISTINCTCOUNT(Table[Customer]))
Otherwise put this into a table next to customer, to get the average number of brands per that customer.
Remember to put this measure up by one decimal place, as the card will otherwise show the value 2, not the reuired 1.5

If this solution helped, smash that thumb icon so I can keep helping others
Helper I

You're completely right, thanks for the correction! In my example the number I'd be looking for would be 2.

It sort of worked. I have 55K entries, divided in 790 unique customers and 12 brands. All customers buy at least 1 brand, however your formula gave me 0.02 as a result.
Any ideas why this is happening? Thank you again so much for your help

Resolver I

Oh okay - in that case the formula is incorrect.

You are getting that number because its taking the number of unique brands (12) and dividing it by the number of unique customers (790).

12/790 = 0.015  rounds up to 0.02

I'll think of a solution and come back to you

Helper I

Thanks! So this is what I get:

The Brand column is literally the Column with the brands shown as distinct count (no formula here). The AVG Brands Column is the formula you kindly provided which works perfectly individually. However, I'd need the total to be the sum of each customer's AVG Brand divided by the number of customers. Right now it is dividing the 12 brands just like you said.

Any ideas on how to make it work better? I feel we are super close 🙂

Resolver I

Try this in a card. or in the table with customers as rows

Better Average = SUMX(VALUES(Brand Column]), [AVG Brands])
Helper I

Genius! Thanks!

Resolver I

Did you get something like 1.2 AVG Brands? Meaning that most customers don't deviate too much away from buying only one brand?

Helper I

That's right! 1.16 which kind of what I was expecting. The business translation (in case you were curious) will be bringing that number up through cross-selling. Thanks again!

Super User

Hi, try

AVERAGEX(ALL(Table[Customer]),DistinctCOUNT(BrandColumn))

PROUD TO BE A SUPER USER!
Best Stories, Interesting Cases: PowerBI Storytime Newsletter
Helper I

Thanks Olgad! I had tried that, however it returns the total number of brands that I have, and not the average per customer.

Any ideas? Thank you so much for your help!

Announcements

#### Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.