NPV  - script function
                NPV() returns the aggregated net present value of an investment based on a constant 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:
- discount_rate: discount_rate is the rate of discount over the length of the period. discount_rate is a constant.
 - 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 document and run it. Then add, at least, the fields listed in the results column to a sheet in your document to see the 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 | 
                                 NPV1_2013  | 
                        
|---|---|
| 
                                 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;
| Year | Discount | NPV2_2013 | 
|---|---|---|
| 2013 | 0.1 | -$3456.05 | 
| 
                                 2013  | 
                            
                                 0.2  | 
                            
                                 $5666.67  | 
                        
| Example | Result field | Result value | |||
|---|---|---|---|---|---|
| 
                                 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;  | 
                            
                                
  | 
                        ||||