The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
Hi all,
I am struggling to work out what I think should be some fairly straightforward DAX and can't find anything in the forum. Apologies if I have missed another post.
I have a client and product columns. What I am trying to achieve is to calculate what 'client coverage' each product has. Client coverage is defined by the percentage of clients that have a product and is between 0% and 100%. What is throwing a spanner in doing a COUNT(Products)/COUNT DISTINCT(Clients) is that some clients have some products more than once; the way I want my calculation to work is to be binary: A client has it or doesn't. I am not interested in how many times they have bought it.
Example data:
Client | Product |
A | 1 |
A | 2 |
A | 3 |
B | 1 |
B | 1 |
B | 2 |
C | 1 |
In this instance, all clients have product 1, but Client B has it twice. Therefore coverage should be 100% not 133% if I did the formula above.
Expected calculated output:
Product | Client Coverage |
1 | 100% |
2 | 67% |
3 | 33% |
Any help on this would be greatly appreciated. Thanks!
Hi @megane123 - try something like this
Client Coverage =
VAR __Prod =
COUNTX ( VALUES ( Coverage[Client] ), DISTINCTCOUNT ( Coverage[Product] ) )
VAR __Client =
COUNTROWS ( ALL ( Coverage[Client] ) )
RETURN
DIVIDE ( __Prod, __Client, 0 )
Hope this helps
David
User | Count |
---|---|
26 | |
10 | |
8 | |
6 | |
6 |
User | Count |
---|---|
31 | |
10 | |
10 | |
10 | |
9 |