NPV - script function
NPV() returns the aggregated net present value of an investment based on a discount_rate per period and a series of future payments (negative values) and incomes (positive values), represented by the numbers in value, iterated over a number of records, as defined by a group by clause. The payments and incomes are assumed to occur at the end of each period.
Syntax:
NPV(discount_rate, value)
Return data type: numeric. The result has a default number format of money.
Arguments:
Argument | Description |
---|---|
discount_rate | discount_rate is the rate of discount over the length of the period. |
value | The expression or field containing the data to be measured. |
Limitations:
Text values, NULL values and missing values are disregarded.
Examples and results:
Add the example script to your app and run it. Then add, at least, the fields listed in the results column to a sheet in your app to see the result.
Example | Result | ||||
---|---|---|---|---|---|
Cashflow: LOAD 2013 as Year, * inline [ Date|Discount|Payments 2013-01-01|0.1|-10000 2013-03-01|0.1|3000 2013-10-30|0.1|4200 2014-02-01|0.2|6800 ] (delimiter is '|');
Cashflow1: LOAD Year,NPV(0.2, Payments) as NPV1_2013 Resident Cashflow Group By Year; |
Year 2013 |
NPV1_2013 -$540.12 |
|||
Given that the Cashflow table is loaded as in the previous example: LOAD Year,NPV(Discount, Payments) as NPV2_2013 Resident Cashflow Group By Year, Discount; Note that the Group By clause sorts the results by Year and Discount. The first argument, discount_rate, is given as a field (Discount), rather than a specific number, and therefore, a second sorting criterion is required. A field can contain a different values, so the aggregated records must be sorted to allow for different values of Year and Discount. |
|
Did this page help you?
If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!