Forum Discussion
ManPi
6 years agoFrequent Visitor
Forecasting payment date with calculated average
Hi all, I could use some help with calculating a forecasted paymentdate of our customers. I have calculated the average paymentterm from the past payments. Average paymentterm = DATEDIFF (Boeking...
- 6 years ago
Hi, ManPi
There are two ways.
First way: You may create a calculated column and a measure as follows.
Average paymentterm Column = CALCULATE( AVERAGE('Table'[Days paid]), FILTER( ALLSELECTED('Table'), 'Table'[Customer] = EARLIER('Table'[Customer])&& NOT ISBLANK('Table'[Payment date]) ) ) Expected payment date = var _value = CALCULATE( SUM('Table'[Average paymentterm Column]), FILTER( ALLSELECTED('Table'), 'Table'[Customer] = MAX('Table'[Customer]) ) )- CALCULATE( SUM('Table'[Days paid]), FILTER( ALLSELECTED('Table'), 'Table'[Customer] = MAX('Table'[Customer]) ) ) return IF( ISBLANK(MAX('Table'[Payment date])), MAX('Table'[Invoice date])+_value, BLANK() )Second way: You may create two measures as below.
Average paymentterm Measure = CALCULATE( AVERAGE('Table'[Days paid]), FILTER( ALLSELECTED('Table'), 'Table'[Customer] = MAX('Table'[Customer])&& NOT ISBLANK('Table'[Payment date]) ) ) Expected payment date Measure = var _value = CALCULATE( SUMX( FILTER( ALLSELECTED('Table'), 'Table'[Customer] = MAX('Table'[Customer]) ), [Average paymentterm Measure] ) )- CALCULATE( SUM('Table'[Days paid]), FILTER( ALLSELECTED('Table'), 'Table'[Customer] = MAX('Table'[Customer]) ) ) return IF( ISBLANK(MAX('Table'[Payment date])), MAX('Table'[Invoice date])+_value, BLANK() )Result:
Best Regards
Allan
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
v-alq-msft
6 years agoCommunity Support
Hi, ManPi
If you take the answer of someone, please mark it as the solution to help the other members who have same problems find it more quickly. If not, let me know and I'll try to help you further. Thanks.
Best Regards
Allan
ManPi
6 years agoFrequent Visitor
Hi Allen,
Sorry for the late reply, but due to the developments with the Coronavirus I didn't had the time to try your solution any sooner.
Thanks for your help. It was the right solution.
Kind regards,
Mandy