<?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: Look at previous values and create new observation in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Look-at-previous-values-and-create-new-observation/m-p/401509#M97424</link>
    <description>&lt;P&gt;The lag function maintains a queue of values and returns the previously stored value each time you call it.&amp;nbsp; If you call it &lt;U&gt;&lt;STRONG&gt;unconditionally&lt;/STRONG&gt;&lt;/U&gt;, it will return the value from the previous observation.&lt;/P&gt;</description>
    <pubDate>Thu, 05 Oct 2017 20:44:02 GMT</pubDate>
    <dc:creator>WarrenKuhfeld</dc:creator>
    <dc:date>2017-10-05T20:44:02Z</dc:date>
    <item>
      <title>Look at previous values and create new observation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Look-at-previous-values-and-create-new-observation/m-p/401494#M97420</link>
      <description>&lt;P&gt;I have the following data set which i need to&amp;nbsp;extend and fill values by looking at the previous values.&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 date type $ gp1 $ grp2 $ amnt; 
datalines; 
2001 . . . 0.002
2001 MRA TL08 T630 0.0004
2001 MRA TB08 T630 0.0005
2003 . . . 0.001
2003 MRA TB08 T630 0.007
2005 . . . 0.0003
; 
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For the given date, type, gr1 and gr2 combination there is an amount specified. If the next date doesn't have the group specified on the previous&amp;nbsp;date (for example, 2003 doesn't have row 2). I need to create a row for 2003 and add the amount from row 2 (0.0004 + 0.001=0.0014).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the desired output:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="321"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;date&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;type&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;grp1&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;grp2&lt;/TD&gt;
&lt;TD width="1"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;cum_amt&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;0.002&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD&gt;MRA&lt;/TD&gt;
&lt;TD&gt;TL08&lt;/TD&gt;
&lt;TD&gt;T630&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;0.0004&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD&gt;MRA&lt;/TD&gt;
&lt;TD&gt;TB08&lt;/TD&gt;
&lt;TD&gt;T630&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;0.0005&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2003&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;0.003&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2003&lt;/TD&gt;
&lt;TD&gt;MRA&lt;/TD&gt;
&lt;TD&gt;TB08&lt;/TD&gt;
&lt;TD&gt;T630&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;0.0075&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2003&lt;/TD&gt;
&lt;TD&gt;MRA&lt;/TD&gt;
&lt;TD&gt;TL08&lt;/TD&gt;
&lt;TD&gt;T630&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;0.0014&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2005&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;TD&gt;0.0003&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD&gt;MRA&lt;/TD&gt;
&lt;TD&gt;TL08&lt;/TD&gt;
&lt;TD&gt;T630&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;0.0007&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD&gt;MRA&lt;/TD&gt;
&lt;TD&gt;TB08&lt;/TD&gt;
&lt;TD&gt;T630&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;0.0078&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Thu, 05 Oct 2017 19:43:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Look-at-previous-values-and-create-new-observation/m-p/401494#M97420</guid>
      <dc:creator>zqkal</dc:creator>
      <dc:date>2017-10-05T19:43:41Z</dc:date>
    </item>
    <item>
      <title>Re: Look at previous values and create new observation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Look-at-previous-values-and-create-new-observation/m-p/401509#M97424</link>
      <description>&lt;P&gt;The lag function maintains a queue of values and returns the previously stored value each time you call it.&amp;nbsp; If you call it &lt;U&gt;&lt;STRONG&gt;unconditionally&lt;/STRONG&gt;&lt;/U&gt;, it will return the value from the previous observation.&lt;/P&gt;</description>
      <pubDate>Thu, 05 Oct 2017 20:44:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Look-at-previous-values-and-create-new-observation/m-p/401509#M97424</guid>
      <dc:creator>WarrenKuhfeld</dc:creator>
      <dc:date>2017-10-05T20:44:02Z</dc:date>
    </item>
    <item>
      <title>Re: Look at previous values and create new observation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Look-at-previous-values-and-create-new-observation/m-p/401520#M97429</link>
      <description>&lt;P&gt;Please describe you process in terms of the variables you show. It really is not clear how "next date doesn't have the group specified&amp;nbsp;" in terms of grp1 and grp2 as there are two variables but you say "group specified" and since 2003 has&amp;nbsp;2 rows in the have data&amp;nbsp;I am not sure what you mean by "2003 doesn't have row 2".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you describe things in terms of which values, such as the previous year group with grp1= xxx and grp2=yyy then the problem gets much clearer.&lt;/P&gt;
&lt;P&gt;But what if there were a 2002 set of records? Would you still be looking for the 2001? Or if the previous year group is 3 years earlier such as 2001 followed by 2004. Would you want data from 2003 (which may not exist) or 2002 (which also doesn't exist)&amp;nbsp;or 2001?&lt;/P&gt;</description>
      <pubDate>Thu, 05 Oct 2017 21:45:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Look-at-previous-values-and-create-new-observation/m-p/401520#M97429</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-10-05T21:45:34Z</dc:date>
    </item>
  </channel>
</rss>

