Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredJoin us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM. Register now.
Hi !
I have a table named ShipDetails that looks like this :
| DROP | ON_TIME_DELIVERY | ORDERED_PRODUCT |
| Client 1 - Order 1 | OK | Product 2 |
| Client 1 - Order 1 | OK | Product 4 |
| Client 2 - Order 1 | KO | Product 1 |
| Client 2 - Order 1 | KO | Product 2 |
| Client 2 - Order 1 | KO | Product 3 |
| C1 - O2 | KO | Product 3 |
| C1 - O3 | OK | Product 3 |
| C1 - O3 | OK | Product 4 |
I would like to create a measure that count the percentage of on time delivery.
In order to do that, I have to count 1 if ON-TIME_DELIVERY is "OK" and 0 if it's "KO", FOR EACH DROP (and then divide by the number of distinct drops).
It's easy to do it for each row, but, here, rows of the same drop have to be counted only as 1.
How could I do it ?
(I tried several measures like this one but it doesn't work at all : On time delivery (%) = CALCULATE(SUMX(ShipDetails,IF(ShipDetails[ON_TIME_DELIVERY]="OK",1,0)),ALLEXCEPT(ShipDetails,ShipDetails[DROP]))/DISTINCTCOUNT(ShipDetails[DROP]))
Thank you for your help,
Regards,
Marion
Solved! Go to Solution.
Hi @Anonymous
Try this.
On time delivery (%) =
DIVIDE(
CALCULATE(
DISTINCTCOUNT( ShipDetails[DROP] ),
ShipDetails[ON_TIME_DELIVERY] = "OK"
),
DISTINCTCOUNT ( ShipDetails[DROP] )
)
Hi @Anonymous
Try this.
On time delivery (%) =
DIVIDE(
CALCULATE(
DISTINCTCOUNT( ShipDetails[DROP] ),
ShipDetails[ON_TIME_DELIVERY] = "OK"
),
DISTINCTCOUNT ( ShipDetails[DROP] )
)