<?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 Calculated 'end' and use as 'start' for next observation in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Calculated-end-and-use-as-start-for-next-observation/m-p/279966#M56506</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I could really use some help. I have the following Excel-data&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;STRONG&gt;Input&lt;/STRONG&gt;&lt;/P&gt;
&lt;TABLE width="500"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="76"&gt;&lt;STRONG&gt;date&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="56"&gt;&lt;STRONG&gt;id&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="63"&gt;&lt;STRONG&gt;vendorid&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="49"&gt;&lt;STRONG&gt;start&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="35"&gt;&lt;STRONG&gt;in&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="35"&gt;&lt;STRONG&gt;out&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="31"&gt;&lt;STRONG&gt;end&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-01-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;177893&lt;/TD&gt;
&lt;TD&gt;4800&lt;/TD&gt;
&lt;TD&gt;3100&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-02-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;4400&lt;/TD&gt;
&lt;TD&gt;2800&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-03-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;4100&lt;/TD&gt;
&lt;TD&gt;2800&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-04-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;4300&lt;/TD&gt;
&lt;TD&gt;2700&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-05-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;3500&lt;/TD&gt;
&lt;TD&gt;2500&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-01-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-02-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-03-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-04-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-05-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-01-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;5000&lt;/TD&gt;
&lt;TD&gt;550&lt;/TD&gt;
&lt;TD&gt;500&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-02-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;152&lt;/TD&gt;
&lt;TD&gt;250&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-03-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;354&lt;/TD&gt;
&lt;TD&gt;354&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-04-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;986&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-05-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;854&lt;/TD&gt;
&lt;TD&gt;785&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to:&lt;/P&gt;
&lt;P&gt;1. Calculate 'end' --&amp;gt; = start + (in - out)&lt;/P&gt;
&lt;P&gt;2. use the 'end' as 'start' in the next observation (within the same id &amp;amp; vendorid)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Output&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="500"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="73"&gt;&lt;STRONG&gt;date&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="56"&gt;&lt;STRONG&gt;id&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="63"&gt;&lt;STRONG&gt;vendorid&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="49"&gt;&lt;STRONG&gt;start&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="35"&gt;&lt;STRONG&gt;in&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="35"&gt;&lt;STRONG&gt;out&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="66"&gt;&lt;STRONG&gt;end&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-01-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;177893&lt;/TD&gt;
&lt;TD&gt;4800&lt;/TD&gt;
&lt;TD&gt;3100&lt;/TD&gt;
&lt;TD&gt;179593&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-02-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;179593&lt;/TD&gt;
&lt;TD&gt;4400&lt;/TD&gt;
&lt;TD&gt;2800&lt;/TD&gt;
&lt;TD&gt;181193&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-03-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;181193&lt;/TD&gt;
&lt;TD&gt;4100&lt;/TD&gt;
&lt;TD&gt;2800&lt;/TD&gt;
&lt;TD&gt;182493&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-04-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;182493&lt;/TD&gt;
&lt;TD&gt;4300&lt;/TD&gt;
&lt;TD&gt;2700&lt;/TD&gt;
&lt;TD&gt;184093&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-05-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;184093&lt;/TD&gt;
&lt;TD&gt;3500&lt;/TD&gt;
&lt;TD&gt;2500&lt;/TD&gt;
&lt;TD&gt;185093&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-01-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-02-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-03-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-04-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-05-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-01-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;5000&lt;/TD&gt;
&lt;TD&gt;550&lt;/TD&gt;
&lt;TD&gt;500&lt;/TD&gt;
&lt;TD&gt;5050&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-02-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;5050&lt;/TD&gt;
&lt;TD&gt;152&lt;/TD&gt;
&lt;TD&gt;250&lt;/TD&gt;
&lt;TD&gt;4952&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-03-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;4952&lt;/TD&gt;
&lt;TD&gt;354&lt;/TD&gt;
&lt;TD&gt;354&lt;/TD&gt;
&lt;TD&gt;4952&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-04-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;4952&lt;/TD&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;986&lt;/TD&gt;
&lt;TD&gt;5200&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-05-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;5200&lt;/TD&gt;
&lt;TD&gt;854&lt;/TD&gt;
&lt;TD&gt;785&lt;/TD&gt;
&lt;TD&gt;5269&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What is the best way to do this in SAS? Normally i would provide my code, but my results so far aren't even close.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your time and advise.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Matthijs&lt;/P&gt;</description>
    <pubDate>Fri, 24 Jun 2016 13:11:37 GMT</pubDate>
    <dc:creator>Matthijs</dc:creator>
    <dc:date>2016-06-24T13:11:37Z</dc:date>
    <item>
      <title>Calculated 'end' and use as 'start' for next observation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculated-end-and-use-as-start-for-next-observation/m-p/279966#M56506</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I could really use some help. I have the following Excel-data&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;STRONG&gt;Input&lt;/STRONG&gt;&lt;/P&gt;
&lt;TABLE width="500"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="76"&gt;&lt;STRONG&gt;date&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="56"&gt;&lt;STRONG&gt;id&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="63"&gt;&lt;STRONG&gt;vendorid&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="49"&gt;&lt;STRONG&gt;start&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="35"&gt;&lt;STRONG&gt;in&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="35"&gt;&lt;STRONG&gt;out&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="31"&gt;&lt;STRONG&gt;end&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-01-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;177893&lt;/TD&gt;
&lt;TD&gt;4800&lt;/TD&gt;
&lt;TD&gt;3100&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-02-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;4400&lt;/TD&gt;
&lt;TD&gt;2800&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-03-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;4100&lt;/TD&gt;
&lt;TD&gt;2800&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-04-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;4300&lt;/TD&gt;
&lt;TD&gt;2700&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-05-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;3500&lt;/TD&gt;
&lt;TD&gt;2500&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-01-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-02-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-03-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-04-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-05-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-01-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;5000&lt;/TD&gt;
&lt;TD&gt;550&lt;/TD&gt;
&lt;TD&gt;500&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-02-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;152&lt;/TD&gt;
&lt;TD&gt;250&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-03-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;354&lt;/TD&gt;
&lt;TD&gt;354&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-04-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;986&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-05-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;854&lt;/TD&gt;
&lt;TD&gt;785&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to:&lt;/P&gt;
&lt;P&gt;1. Calculate 'end' --&amp;gt; = start + (in - out)&lt;/P&gt;
&lt;P&gt;2. use the 'end' as 'start' in the next observation (within the same id &amp;amp; vendorid)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Output&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="500"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="73"&gt;&lt;STRONG&gt;date&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="56"&gt;&lt;STRONG&gt;id&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="63"&gt;&lt;STRONG&gt;vendorid&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="49"&gt;&lt;STRONG&gt;start&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="35"&gt;&lt;STRONG&gt;in&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="35"&gt;&lt;STRONG&gt;out&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="66"&gt;&lt;STRONG&gt;end&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-01-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;177893&lt;/TD&gt;
&lt;TD&gt;4800&lt;/TD&gt;
&lt;TD&gt;3100&lt;/TD&gt;
&lt;TD&gt;179593&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-02-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;179593&lt;/TD&gt;
&lt;TD&gt;4400&lt;/TD&gt;
&lt;TD&gt;2800&lt;/TD&gt;
&lt;TD&gt;181193&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-03-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;181193&lt;/TD&gt;
&lt;TD&gt;4100&lt;/TD&gt;
&lt;TD&gt;2800&lt;/TD&gt;
&lt;TD&gt;182493&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-04-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;182493&lt;/TD&gt;
&lt;TD&gt;4300&lt;/TD&gt;
&lt;TD&gt;2700&lt;/TD&gt;
&lt;TD&gt;184093&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-05-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;184093&lt;/TD&gt;
&lt;TD&gt;3500&lt;/TD&gt;
&lt;TD&gt;2500&lt;/TD&gt;
&lt;TD&gt;185093&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-01-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-02-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-03-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-04-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-05-2017&lt;/TD&gt;
&lt;TD&gt;1000001&lt;/TD&gt;
&lt;TD&gt;002&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-01-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;5000&lt;/TD&gt;
&lt;TD&gt;550&lt;/TD&gt;
&lt;TD&gt;500&lt;/TD&gt;
&lt;TD&gt;5050&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-02-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;5050&lt;/TD&gt;
&lt;TD&gt;152&lt;/TD&gt;
&lt;TD&gt;250&lt;/TD&gt;
&lt;TD&gt;4952&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-03-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;4952&lt;/TD&gt;
&lt;TD&gt;354&lt;/TD&gt;
&lt;TD&gt;354&lt;/TD&gt;
&lt;TD&gt;4952&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-04-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;4952&lt;/TD&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;986&lt;/TD&gt;
&lt;TD&gt;5200&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01-05-2017&lt;/TD&gt;
&lt;TD&gt;1000002&lt;/TD&gt;
&lt;TD&gt;001&lt;/TD&gt;
&lt;TD&gt;5200&lt;/TD&gt;
&lt;TD&gt;854&lt;/TD&gt;
&lt;TD&gt;785&lt;/TD&gt;
&lt;TD&gt;5269&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What is the best way to do this in SAS? Normally i would provide my code, but my results so far aren't even close.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your time and advise.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Matthijs&lt;/P&gt;</description>
      <pubDate>Fri, 24 Jun 2016 13:11:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculated-end-and-use-as-start-for-next-observation/m-p/279966#M56506</guid>
      <dc:creator>Matthijs</dc:creator>
      <dc:date>2016-06-24T13:11:37Z</dc:date>
    </item>
    <item>
      <title>Re: Calculated 'end' and use as 'start' for next observation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculated-end-and-use-as-start-for-next-observation/m-p/279971#M56509</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want (drop=prev_end);
set have;
by id;
retain prev_end;
if not first.id
then start = prev_end;
end = start + in - out;
prev_end = end;
run;
  &lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 24 Jun 2016 13:19:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculated-end-and-use-as-start-for-next-observation/m-p/279971#M56509</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2016-06-24T13:19:09Z</dc:date>
    </item>
    <item>
      <title>Re: Calculated 'end' and use as 'start' for next observation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculated-end-and-use-as-start-for-next-observation/m-p/279974#M56510</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Assuming your data is correctly sorted:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
by id vendorid;

if first.vendorid then end_keep=start;
end_keep+in-out;

run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 24 Jun 2016 13:24:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculated-end-and-use-as-start-for-next-observation/m-p/279974#M56510</guid>
      <dc:creator>Loko</dc:creator>
      <dc:date>2016-06-24T13:24:14Z</dc:date>
    </item>
    <item>
      <title>Re: Calculated 'end' and use as 'start' for next observation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculated-end-and-use-as-start-for-next-observation/m-p/279977#M56513</link>
      <description>&lt;P&gt;Thank you!&lt;/P&gt;
&lt;P&gt;Now I know what i did wrong in my attempts. I made it way too complex.&lt;/P&gt;</description>
      <pubDate>Fri, 24 Jun 2016 13:30:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculated-end-and-use-as-start-for-next-observation/m-p/279977#M56513</guid>
      <dc:creator>Matthijs</dc:creator>
      <dc:date>2016-06-24T13:30:52Z</dc:date>
    </item>
    <item>
      <title>Re: Calculated 'end' and use as 'start' for next observation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculated-end-and-use-as-start-for-next-observation/m-p/279978#M56514</link>
      <description>&lt;P&gt;Here's a solution that works for the situation. &amp;nbsp;One thing to note about it: when reading in the date variable I converted it to numeric to make &amp;nbsp;sure it would always be sorted chronologically in the sort statement (otherwise we would have, for example, 02-03-2016 being considered earlier than 11-03-2010).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data ds1;
	infile datalines missover;
	input date id vendorid in out start;
	informat date mmddyy10.;
	format date date9.;

datalines;
01-01-2017	1000001	001 4800 3100 177893	 
01-02-2017	1000001	001 4400 2800	 
01-03-2017	1000001	001 4100 2800	 
01-04-2017	1000001	001 4300 2700	 
01-05-2017	1000001	001 3500 2500	 
01-01-2017	1000001	002	 	 	 	 
01-02-2017	1000001	002	 	 	 	 
01-03-2017	1000001	002	 	 	 	 
01-04-2017	1000001	002	 	 	 	 
01-05-2017	1000001	002	 	 	 	 
01-01-2017	1000002	001 550 500 5000 
01-02-2017	1000002	001 152 250	 
01-03-2017	1000002	001 354	354	 
01-04-2017	1000002	001 1234 986	 
01-05-2017	1000002	001 854	785	 
;
run;

proc sort data=ds1; by id vendorid date; run;

data ds2(drop=currend);
	retain currend;
	set ds1;
	by id vendorid;

	if first.vendorid then
		do;
			currend=.;
		end;
	else
		do;
			start=currend;
		end;

	if ^missing(in) and ^missing(out) then 
		do;
			currend=start+(in-out);
			end=currend;
		end;

	output;
run;
	&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 24 Jun 2016 13:33:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculated-end-and-use-as-start-for-next-observation/m-p/279978#M56514</guid>
      <dc:creator>slacey</dc:creator>
      <dc:date>2016-06-24T13:33:32Z</dc:date>
    </item>
    <item>
      <title>Re: Calculated 'end' and use as 'start' for next observation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculated-end-and-use-as-start-for-next-observation/m-p/279987#M56517</link>
      <description>I was too slow on the draw.&lt;BR /&gt;&lt;BR /&gt;The only thing I would add to the solution is to make sure your data is properly sorted. Specifically be careful with date sorting. Based on the current format 02-03-2016 would be sorted as earlier than 11-03-2010.</description>
      <pubDate>Fri, 24 Jun 2016 13:50:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculated-end-and-use-as-start-for-next-observation/m-p/279987#M56517</guid>
      <dc:creator>slacey</dc:creator>
      <dc:date>2016-06-24T13:50:36Z</dc:date>
    </item>
  </channel>
</rss>

