Forum Discussion
Sum based on Distinct values on another Column
I am trying to ratio based on sum(unique values on a column)/ Count(Values on Column)
Warehouse Processing %:=
DIVIDE (
CALCULATE (
SUM ( [Warehouse Processing Offset] ),
'Orders'[DC Ready To Ship Date] <> BLANK ()
),
CALCULATE (
DISTINCTCOUNT(Orders[Pick Ticket Control Number] ),
'Orders'[DC Ready To Ship Date] <> BLANK ()
),
0)
Essentially for a distinct Order and pickticket number the % would be (0+1)/2 = 50%
)
The calculations did not work and I ended up creating a calculated table with distinct values to achieve.
5 Replies
- v-lili6-msft
Community Support
hi,@sgsukumaran
After my research, you need use ALLEXCEPT Function in your function like below:
Warehouse Processing % = DIVIDE ( CALCULATE ( SUM ( [Warehouse Processing Offset] ), 'Orders'[DC Ready To Ship Date] <> BLANK () ), CALCULATE ( DISTINCTCOUNT ( Orders[Pick Ticket Control Number] ),ALLEXCEPT(Orders,Orders[Order Number]), 'Orders'[DC Ready To Ship Date] <> BLANK () ), 0 )Result:
Best Regards,
Lin
- sgsukumaran
Resolver II
- v-lili6-msft
Community Support
hi,@sgsukumaran
After my test, I didn't notice that there is one slicer "Event year/month" in your report, So please be careful with these
details when we use ALLEXCEPT Function, try this formula:
Warehouse Processing % = DIVIDE ( CALCULATE ( SUM ( [Warehouse Processing Offset] ), 'Orders'[DC Ready To Ship Date] <> BLANK () ), CALCULATE ( DISTINCTCOUNT ( Orders[Pick Ticket Control Number] ),ALLEXCEPT(Orders,Orders[Order Number],Orders[Year Month]), 'Orders'[DC Ready To Ship Date] <> BLANK () ), 0 )Result:
Before
After
If not your case, please share your complete screenshot of this page, Do mask sensitive data before uploading.
Best Regards,
Lin
- v-lili6-msft
Community Support
hi, sgsukumaran
Could you please tell me if your problem has been solved? If it is, could you please mark the helpful replies as Answered?
Best Regards,
Lin
- sgsukumaran
Resolver II
The calculations did not work and I ended up creating a calculated table with distinct values to achieve.