<?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: Value start from begining in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Value-start-from-begining/m-p/346130#M79759</link>
    <description>&lt;PRE&gt;

data have;
input number;
cards;
12
10
8
6
4
2
;
run;

data want;
 merge have have(keep=number rename=(number=_n) firstobs=2);
 lag_d=number-_n;
 if missing(lag_d) then lag_d=0;
 drop _n;
run;

&lt;/PRE&gt;</description>
    <pubDate>Fri, 31 Mar 2017 13:16:23 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2017-03-31T13:16:23Z</dc:date>
    <item>
      <title>Value start from begining</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Value-start-from-begining/m-p/346075#M79740</link>
      <description>&lt;P&gt;&lt;BR /&gt;data have;&lt;BR /&gt;input number;&lt;BR /&gt;cards;&lt;BR /&gt;12&lt;BR /&gt;10&lt;BR /&gt;8&lt;BR /&gt;6&lt;BR /&gt;4&lt;BR /&gt;2&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;BR /&gt;set have;&lt;BR /&gt;lag_d = lag(number) - number;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;when i run this code i am getting like this&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 144pt;" border="0" width="192" cellspacing="0" cellpadding="0"&gt;&lt;COLGROUP&gt;&lt;COL style="width: 48pt;" span="3" width="64" /&gt; &lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD width="64" height="20" style="height: 15.0pt; width: 48pt;"&gt;Obs&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;number&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_d&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;10&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;3&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;but i need the ouput like this insted of staring . i need the valus from frist row&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 144pt;" border="0" width="192" cellspacing="0" cellpadding="0"&gt;&lt;COLGROUP&gt;&lt;COL style="width: 48pt;" span="3" width="64" /&gt; &lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD width="64" height="20" style="height: 15.0pt; width: 48pt;"&gt;Obs&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;number&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;lag_d&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;12&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;10&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;3&lt;/TD&gt;
&lt;TD align="right"&gt;8&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;6&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Fri, 31 Mar 2017 10:16:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Value-start-from-begining/m-p/346075#M79740</guid>
      <dc:creator>kumarK</dc:creator>
      <dc:date>2017-03-31T10:16:40Z</dc:date>
    </item>
    <item>
      <title>Re: Value start from begining</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Value-start-from-begining/m-p/346083#M79744</link>
      <description>&lt;P&gt;What you want to do is to simulate a lead function. It can be done like this&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input number;
cards;
12
10
8
6
4
2
run;
 
data have;
   set have;

   if eof=0 then
      set have (firstobs=2 keep=number rename=(number=lead_number)) end=eof;
   else lead_number=.;

   lag_d = number - lead_number;
run; &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Bear in mind though, that the last value of your lag_d variable will be missing with this solution, which I think is more approprate than it being zero, since you do not know the next value of number. This can be corrected fairly easily though &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 31 Mar 2017 10:43:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Value-start-from-begining/m-p/346083#M79744</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2017-03-31T10:43:26Z</dc:date>
    </item>
    <item>
      <title>Re: Value start from begining</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Value-start-from-begining/m-p/346130#M79759</link>
      <description>&lt;PRE&gt;

data have;
input number;
cards;
12
10
8
6
4
2
;
run;

data want;
 merge have have(keep=number rename=(number=_n) firstobs=2);
 lag_d=number-_n;
 if missing(lag_d) then lag_d=0;
 drop _n;
run;

&lt;/PRE&gt;</description>
      <pubDate>Fri, 31 Mar 2017 13:16:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Value-start-from-begining/m-p/346130#M79759</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-03-31T13:16:23Z</dc:date>
    </item>
  </channel>
</rss>

