Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowJuly 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more
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] )
)
Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.
Join Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.
| User | Count |
|---|---|
| 29 | |
| 28 | |
| 26 | |
| 26 | |
| 19 |
| User | Count |
|---|---|
| 54 | |
| 48 | |
| 39 | |
| 28 | |
| 21 |