<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Calculating NPV in SAS with dates and amount in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Calculating-NPV-in-SAS-with-dates-and-amount/m-p/527113#M143646</link>
    <description>&lt;P&gt;I believe the NETPV formula assumes the time intervals are constant, so you ought to be able to leave those out.&lt;/P&gt;</description>
    <pubDate>Mon, 14 Jan 2019 20:49:04 GMT</pubDate>
    <dc:creator>PaigeMiller</dc:creator>
    <dc:date>2019-01-14T20:49:04Z</dc:date>
    <item>
      <title>Calculating NPV in SAS with dates and amount</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculating-NPV-in-SAS-with-dates-and-amount/m-p/527010#M143613</link>
      <description>&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;I have a Data Set with about 3M rows...I am trying to create a NPV calculation using SAS:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;the data looks like below -&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The formula in excel that I am trying to emulate is&lt;/P&gt;&lt;P&gt;=XNPV(59.85/100,$D$2:$D$53,$C$2:$C$53)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;the portion&amp;nbsp;&lt;SPAN&gt;$D$2:$D$53,$C$2:$C$53 will be different for each ID for example the formula for ID = 29 is&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;=XNPV(59.85/100,$D$2:$D$53,$C$2:$C$53)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The formula for ID = 31 is&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;=XNPV(59.85/100,$D$54:$D$79,$C$54:$C$79)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The issue I run into is to how to let SAS know where to start and stop the calculation&amp;nbsp;for each ID&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Hope someone can HELP me as I tried a couple of things and it seems SAS is unable to read the formula in an array and I have to transpose column C and column D to get the end result...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Cash Flow&lt;/TD&gt;&lt;TD&gt;PV&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/02/05&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3,500.00&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/02/09&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/02/16&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/02/23&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/03/02&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/03/09&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/03/16&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/03/23&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/03/29&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/04/06&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/04/13&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/04/20&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/04/27&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/05/04&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/05/11&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/05/18&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/05/25&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/06/01&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/06/08&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/06/15&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/06/22&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/06/29&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/07/06&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/07/13&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/07/20&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/07/27&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/08/03&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/08/10&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/08/17&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/08/24&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/08/31&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/09/06&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 57.56&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/09/06&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50.00&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/09/07&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/09/11&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/09/14&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/09/21&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/09/28&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/10/05&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/10/12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/10/19&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/10/26&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/11/02&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/11/09&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/11/16&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/11/23&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/11/30&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/12/07&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/12/14&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/12/21&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2018/12/28&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;2019/01/04&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (57.56)&lt;/TD&gt;&lt;TD&gt;1295.975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/09/08&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5,000.00&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/09/14&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/09/21&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/09/28&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/10/05&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/10/12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/10/19&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/10/26&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/11/02&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/11/09&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/11/15&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 68.96&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/11/15&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50.00&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/11/16&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/11/16&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (118.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/11/23&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/11/30&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/12/07&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/12/14&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/12/19&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50.00&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/12/19&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 68.96&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/12/20&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/12/21&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/12/27&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (18.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2018/12/28&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2019/01/04&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (68.96)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;2019/01/04&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (500.00)&lt;/TD&gt;&lt;TD&gt;3514.378&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Mon, 14 Jan 2019 18:12:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculating-NPV-in-SAS-with-dates-and-amount/m-p/527010#M143613</guid>
      <dc:creator>SNG1</dc:creator>
      <dc:date>2019-01-14T18:12:49Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating NPV in SAS with dates and amount</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculating-NPV-in-SAS-with-dates-and-amount/m-p/527017#M143617</link>
      <description>&lt;P&gt;SAS has an NETPV function which ought to do the calculations you need.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.4&amp;amp;docsetId=lefunctionsref&amp;amp;docsetTarget=p1ar4i3qaux7xsn1wbasf47a18zw.htm&amp;amp;locale=en" target="_blank"&gt;https://documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.4&amp;amp;docsetId=lefunctionsref&amp;amp;docsetTarget=p1ar4i3qaux7xsn1wbasf47a18zw.htm&amp;amp;locale=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, first I think you need to do a transpose of your data set, BY ID. Then, each row of the SAS data set is for one ID, and the NETPV function ought to then work on all of your IDs.&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 18:33:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculating-NPV-in-SAS-with-dates-and-amount/m-p/527017#M143617</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-01-14T18:33:45Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating NPV in SAS with dates and amount</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculating-NPV-in-SAS-with-dates-and-amount/m-p/527046#M143630</link>
      <description>&lt;P&gt;Thanks...that is helpful I can transpose the dates and cash flow...but the issue I am facing is how do I write that in the npv formula in SAS:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For Example:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can write -&amp;nbsp;PV_at_eff_date=finance('xnpv',59.85/100,d1-dn,c1-cn)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But D1 to Dn is the number of columns created for Days and c1 - cn is the number or columns created for cashflow&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So for example ID 29 would be D1,D2,D3,...D53 for days and C1,C2,C3,...C53 for cashflow&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ID 31 would be&amp;nbsp;&lt;SPAN&gt;D1,D2,D3,...D22 for days and C1,C2,C3,...C22 for cashflow&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;How do I incorporate this into the NPV formula to give me the NPV of each ID using the different column numbers for Dates and CashFlow&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 19:27:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculating-NPV-in-SAS-with-dates-and-amount/m-p/527046#M143630</guid>
      <dc:creator>SNG1</dc:creator>
      <dc:date>2019-01-14T19:27:08Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating NPV in SAS with dates and amount</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculating-NPV-in-SAS-with-dates-and-amount/m-p/527113#M143646</link>
      <description>&lt;P&gt;I believe the NETPV formula assumes the time intervals are constant, so you ought to be able to leave those out.&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 20:49:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculating-NPV-in-SAS-with-dates-and-amount/m-p/527113#M143646</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-01-14T20:49:04Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating NPV in SAS with dates and amount</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculating-NPV-in-SAS-with-dates-and-amount/m-p/527140#M143654</link>
      <description>&lt;P&gt;Nope it does not&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 21:36:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculating-NPV-in-SAS-with-dates-and-amount/m-p/527140#M143654</guid>
      <dc:creator>SNG1</dc:creator>
      <dc:date>2019-01-14T21:36:32Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating NPV in SAS with dates and amount</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculating-NPV-in-SAS-with-dates-and-amount/m-p/527191#M143679</link>
      <description>&lt;P&gt;If you have a varying number of flows, or unequally spaced dates, then proc transpose might require a second intermediate step.&amp;nbsp; However, you could also directly apply the formula for xpnv as&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; SUM (over all flows)&amp;nbsp;&amp;nbsp;&amp;nbsp; of&amp;nbsp;&amp;nbsp;&amp;nbsp; flow{i}/ [(1+rate)**((date{I}-date{0})/365)&amp;nbsp; ]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And you can apply this to all the successive records in your dataset as you apparently have them.&amp;nbsp; You only need to guarantee that&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;The data are grouped by ID&lt;/LI&gt;
&lt;LI&gt;The first record for each ID group is date{0}.&amp;nbsp; It doesn't matter how the remaining records are sorted&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input id  date yymmdd10. flow :comma10.2   pv;
  format date date9.   flow comma9.2;
datalines;
29 2018/02/05     3,500.00 1295.975 
29 2018/02/09         (57.56) 1295.975 
29 2018/02/16         (57.56) 1295.975 
29 2018/02/23         (57.56) 1295.975 
29 2018/03/02         (57.56) 1295.975 
29 2018/03/09         (57.56) 1295.975 
29 2018/03/16         (57.56) 1295.975 
29 2018/03/23         (57.56) 1295.975 
29 2018/03/29         (57.56) 1295.975 
29 2018/04/06         (57.56) 1295.975 
29 2018/04/13         (57.56) 1295.975 
29 2018/04/20         (57.56) 1295.975 
29 2018/04/27         (57.56) 1295.975 
29 2018/05/04         (57.56) 1295.975 
29 2018/05/11         (57.56) 1295.975 
29 2018/05/18         (57.56) 1295.975 
29 2018/05/25         (57.56) 1295.975 
29 2018/06/01         (57.56) 1295.975 
29 2018/06/08         (57.56) 1295.975 
29 2018/06/15         (57.56) 1295.975 
29 2018/06/22         (57.56) 1295.975 
29 2018/06/29         (57.56) 1295.975 
29 2018/07/06         (57.56) 1295.975 
29 2018/07/13         (57.56) 1295.975 
29 2018/07/20         (57.56) 1295.975 
29 2018/07/27         (57.56) 1295.975 
29 2018/08/03         (57.56) 1295.975 
29 2018/08/10         (57.56) 1295.975 
29 2018/08/17         (57.56) 1295.975 
29 2018/08/24         (57.56) 1295.975 
29 2018/08/31         (57.56) 1295.975 
29 2018/09/06           57.56 1295.975 
29 2018/09/06           50.00 1295.975 
29 2018/09/07         (57.56) 1295.975 
29 2018/09/11         (57.56) 1295.975 
29 2018/09/14         (57.56) 1295.975 
29 2018/09/21         (57.56) 1295.975 
29 2018/09/28         (57.56) 1295.975 
29 2018/10/05         (57.56) 1295.975 
29 2018/10/12         (57.56) 1295.975 
29 2018/10/19         (57.56) 1295.975 
29 2018/10/26         (57.56) 1295.975 
29 2018/11/02         (57.56) 1295.975 
29 2018/11/09         (57.56) 1295.975 
29 2018/11/16         (57.56) 1295.975 
29 2018/11/23         (57.56) 1295.975 
29 2018/11/30         (57.56) 1295.975 
29 2018/12/07         (57.56) 1295.975 
29 2018/12/14         (57.56) 1295.975 
29 2018/12/21         (57.56) 1295.975 
29 2018/12/28         (57.56) 1295.975 
29 2019/01/04         (57.56) 1295.975 
31 2018/09/08     5,000.00 3514.378 
31 2018/09/14         (68.96) 3514.378 
31 2018/09/21         (68.96) 3514.378 
31 2018/09/28         (68.96) 3514.378 
31 2018/10/05         (68.96) 3514.378 
31 2018/10/12         (68.96) 3514.378 
31 2018/10/19         (68.96) 3514.378 
31 2018/10/26         (68.96) 3514.378 
31 2018/11/02         (68.96) 3514.378 
31 2018/11/09         (68.96) 3514.378 
31 2018/11/15           68.96 3514.378 
31 2018/11/15           50.00 3514.378 
31 2018/11/16         (68.96) 3514.378 
31 2018/11/16      (118.96) 3514.378 
31 2018/11/23         (68.96) 3514.378 
31 2018/11/30         (68.96) 3514.378 
31 2018/12/07         (68.96) 3514.378 
31 2018/12/14         (68.96) 3514.378 
31 2018/12/19           50.00 3514.378 
31 2018/12/19           68.96 3514.378 
31 2018/12/20         (68.96) 3514.378 
31 2018/12/21         (68.96) 3514.378 
31 2018/12/27         (18.96) 3514.378 
31 2018/12/28         (68.96) 3514.378 
31 2019/01/04         (68.96) 3514.378 
31 2019/01/04      (500.00) 3514.378 
run;

data want (drop=_:);
 _rate=59.85/100;
 do until (last.id);
   set have;
   by id;
   if first.id then _date0=date;
   xnpv=sum(xnpv
           ,flow/((1+_rate)**((date-_date0)/365))
           );
 end;
 do until (last.id);
   set have;
   by id;
   output;
 end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The program above completely one ID group, progressively calculating XNPV.&amp;nbsp; Then it rereads the same ID group and output the observations with the newly created complete XNPV.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note the DO UNTIL (last.id) has an embedded SET&amp;nbsp; with BY statement in the do group.&amp;nbsp; So it's telling sas to read every observation from the first record of an id group to the last record of the same group.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If, instead of only the final XPNV, you want XNPV for each successive flow, you could output during the first read of an ID group:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want (drop=_:);
 _rate=59.85/100;
 do until (last.id);
   set have;
   by id;
   if first.id then _date0=date;
   xnpv=sum(xnpv
          	 ,flow/((1+_rate)**((date-_date0)/365))
           );
   output;
 end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 15 Jan 2019 00:37:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculating-NPV-in-SAS-with-dates-and-amount/m-p/527191#M143679</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2019-01-15T00:37:26Z</dc:date>
    </item>
  </channel>
</rss>

