March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hello!
Please, I would like help to create a measure in dax to calculate the discounted payback indicator. I have the following data:
CAPEX | $ 1.000.000 |
DISCOUNT RATE | 15% |
PERIOD | CASH FLOW |
1 | $ 200.000 |
2 | $ 203.000 |
3 | $ 189.000 |
4 | $ 220.000 |
5 | $ 198.000 |
6 | $ 200.004 |
7 | $ 203.006 |
8 | $ 210.555 |
9 | $ 200.876 |
10 | $ 220.000 |
@Roberto_Ribei1 could you clarify what you mean by "broken payback", with an example?
I'm assuming you want to compute the Discounted Payback Period.
First, I suggest you set up your cash flow table with the capex as a negative cash flow in Period 0.
In my example PBIX attached:
The measures I created are:
Cash Flow Amount =
SUM ( Cashflow[CASH FLOW] )
NPV to Date =
VAR DiscountRate =
[Discount Rate Value]
VAR CurrentPeriod =
MAX ( Cashflow[PERIOD] )
-- XNPV treats 365 days one period for the purposes of calculation
VAR DaysPerPeriod =
365
VAR PeriodToDate =
FILTER ( ALL ( Cashflow[PERIOD] ), Cashflow[PERIOD] <= CurrentPeriod )
VAR NPV =
XNPV (
PeriodToDate,
[Cash Flow Amount],
Cashflow[PERIOD] * DaysPerPeriod,
DiscountRate
)
RETURN
NPV
Discounted Payback Period =
VAR DiscountRate =
[Discount Rate Value]
VAR PaybackPeriod =
MINX (
VALUES ( Cashflow[PERIOD] ),
VAR CurrentPeriod =
Cashflow[PERIOD]
VAR PeriodToDate =
FILTER ( ALL ( Cashflow[PERIOD] ), Cashflow[PERIOD] <= CurrentPeriod )
VAR NPV =
[NPV to Date]
RETURN
-- If NPV to date >= 0, return the period, otherwise blank (which is ignored by MINX)
IF ( NPV >= 0, Cashflow[PERIOD] )
)
RETURN
PaybackPeriod
Results look like this:
Does something like this work for you?
There may be adjustments needed depending how you want the calculation to work if your dataset includes multiple investments.
Regards
Dear Owen Auger,
Thank you very much for the help. And I still have a challenge, which is to calculate the "broken" payback. That is, the result must be 9, something.
Sincerely,
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
User | Count |
---|---|
26 | |
21 | |
20 | |
13 | |
12 |
User | Count |
---|---|
40 | |
27 | |
27 | |
21 | |
19 |