Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
atrigodaroza
Frequent Visitor

Calculate number of clients above a certain value

Hello everyone,

I'm having trouble with this measure. I would like to calculate the number of clients with a reception rate above 75%. Here's a simplified version of my dataset :

ClientMonth of packagereception Status
BFA01/22

Received

COL01/22Not received
BFA02/22Received
COL02/22

Received

 

So basically, I would like to show with a measure how many clients have a received more than 75% of all packages (one package a month). In this simple example, the measure would have "1" as a result, as only one client is above the 75% reception mark.

 

It would be even better if the result would be in % of all clients. So the final result would be 50%, as in 50% of clients have a received more than 75% of all their packages.

Thank you very much in advance for your help. I hope this is clear 🙂

 

Antonio Trigo da Roza

 

2 ACCEPTED SOLUTIONS
FreemanZ
Super User
Super User

hi @atrigodaroza 

try to write a measure like this:

75PlusClientRate = 
VAR _table = 
ADDCOLUMNS(
    VALUES(TableName[Client]),
    "Rate",
    VAR _received =
    CALCULATE(
        COUNT(TableName[reception status]),
        TableName[reception status]="Received"
    )
    VAR _allstatus = 
    CALCULATE(
        COUNT(TableName[reception status])
    )    
    RETURN
    DIVIDE(_received, _allstatus)
)
VAR _ClientCount = COUNTROWS(VALUES(TableName[Client]))
VAR  _75PlusClientCount = 
COUNTROWS(FILTER(_table, [Rate]>=0.75))
RETURN 
DIVIDE(_75PlusClientCount, _ClientCount)

 

With your data sample, it worked like this:

FreemanZ_0-1674476403553.png

View solution in original post

hi @atrigodaroza 

the intermediate count measure is like:

75PlusClientCount = 
VAR _table = 
ADDCOLUMNS(
    VALUES(TableName[Client]),
    "Rate",
    VAR _received =
    CALCULATE(
        COUNT(TableName[reception status]),
        TableName[reception status]="Received"
    )
    VAR _allstatus = 
    CALCULATE(
        COUNT(TableName[reception status])
    )    
    RETURN
    DIVIDE(_received, _allstatus)
)
VAR _ClientCount = COUNTROWS(VALUES(TableName[Client]))
VAR  _75PlusClientCount = 
COUNTROWS(FILTER(_table, [Rate]>=0.75))
RETURN 
_75PlusClientCount

FreemanZ_1-1674476511654.png

 

View solution in original post

4 REPLIES 4
FreemanZ
Super User
Super User

hi @atrigodaroza 

try to write a measure like this:

75PlusClientRate = 
VAR _table = 
ADDCOLUMNS(
    VALUES(TableName[Client]),
    "Rate",
    VAR _received =
    CALCULATE(
        COUNT(TableName[reception status]),
        TableName[reception status]="Received"
    )
    VAR _allstatus = 
    CALCULATE(
        COUNT(TableName[reception status])
    )    
    RETURN
    DIVIDE(_received, _allstatus)
)
VAR _ClientCount = COUNTROWS(VALUES(TableName[Client]))
VAR  _75PlusClientCount = 
COUNTROWS(FILTER(_table, [Rate]>=0.75))
RETURN 
DIVIDE(_75PlusClientCount, _ClientCount)

 

With your data sample, it worked like this:

FreemanZ_0-1674476403553.png

Wow! Thank you so much, this worked perfectly.

Only added a "+0" at the end so the result is never null.

Thanks again @FreemanZ !

 

Antonio

hi @atrigodaroza 

the intermediate count measure is like:

75PlusClientCount = 
VAR _table = 
ADDCOLUMNS(
    VALUES(TableName[Client]),
    "Rate",
    VAR _received =
    CALCULATE(
        COUNT(TableName[reception status]),
        TableName[reception status]="Received"
    )
    VAR _allstatus = 
    CALCULATE(
        COUNT(TableName[reception status])
    )    
    RETURN
    DIVIDE(_received, _allstatus)
)
VAR _ClientCount = COUNTROWS(VALUES(TableName[Client]))
VAR  _75PlusClientCount = 
COUNTROWS(FILTER(_table, [Rate]>=0.75))
RETURN 
_75PlusClientCount

FreemanZ_1-1674476511654.png

 

amitchandak
Super User
Super User

@atrigodaroza , If you displaying at the client level

 

Divide( Countrows(filter(Table, Table[reception Status] = "Received")), Countrows(Table) )

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors