<?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: how to retain all the way in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/how-to-retain-all-the-way/m-p/107115#M258610</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is this a value that only exists on the first record? If so&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retain tempv . ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if _n_ = 1 then tempv=v1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else v1=tempv;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drop tempv;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 09 Aug 2013 19:56:22 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2013-08-09T19:56:22Z</dc:date>
    <item>
      <title>how to retain all the way</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-retain-all-the-way/m-p/107114#M258609</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have:&lt;/P&gt;&lt;P&gt;v1&lt;/P&gt;&lt;P&gt;some number&lt;/P&gt;&lt;P&gt;. (missing from 2nd row on)&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Desire:&lt;/P&gt;&lt;P&gt;v1&lt;/P&gt;&lt;P&gt;some number&lt;/P&gt;&lt;P&gt;some number (from 2nd row on)&lt;/P&gt;&lt;P&gt;some number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Aug 2013 19:48:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-retain-all-the-way/m-p/107114#M258609</guid>
      <dc:creator>MattLin</dc:creator>
      <dc:date>2013-08-09T19:48:58Z</dc:date>
    </item>
    <item>
      <title>Re: how to retain all the way</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-retain-all-the-way/m-p/107115#M258610</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is this a value that only exists on the first record? If so&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retain tempv . ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if _n_ = 1 then tempv=v1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else v1=tempv;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drop tempv;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Aug 2013 19:56:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-retain-all-the-way/m-p/107115#M258610</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2013-08-09T19:56:22Z</dc:date>
    </item>
    <item>
      <title>Re: how to retain all the way</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-retain-all-the-way/m-p/107116#M258611</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV style="font-family: Courier New; font-size: 11pt;"&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;data&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; have;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; id = &lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;1&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; j=&lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;1&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;,&lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;2&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;output&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; j=&lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;.&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; _n_ = &lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;1&lt;/STRONG&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;to&lt;/SPAN&gt; &lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;5&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;output&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;stop&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;data&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; want;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;update&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; have(obs=&lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;0&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;) have;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; id;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;output&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Aug 2013 20:53:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-retain-all-the-way/m-p/107116#M258611</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2013-08-09T20:53:17Z</dc:date>
    </item>
    <item>
      <title>Re: how to retain all the way</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-retain-all-the-way/m-p/107117#M258612</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This example is just for fun . . . my preference would be the data step methods suggested by either ballardw or DN . . .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* create some fake data with a variable (v1) that only has a value for the first observation */&lt;/P&gt;&lt;P&gt;data have ;&lt;BR /&gt; drop i;&lt;BR /&gt; do i = 1 to 100;&lt;BR /&gt;&amp;nbsp; id + 1 ;&lt;BR /&gt;&amp;nbsp; if i=1 then v1 = 100*ranuni(i); /* only create a number for the first record */&lt;BR /&gt;&amp;nbsp; else v1 = .;&lt;BR /&gt;&amp;nbsp; output;&lt;BR /&gt; end;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* "retain" the value using proc sql by doing a dummy merge */&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt; create table want as&lt;BR /&gt; select q1.id, q2.v1&lt;BR /&gt; from&lt;BR /&gt; ( select 1 as dummy1, id from have ) q1&lt;BR /&gt; , ( select 1 as dummy2, v1 from have (obs=1) ) q2&lt;BR /&gt; where q1.dummy1 = q2.dummy2&lt;BR /&gt; order by q1.id&lt;BR /&gt;;&lt;BR /&gt;quit ;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Aug 2013 00:57:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-retain-all-the-way/m-p/107117#M258612</guid>
      <dc:creator>Fugue</dc:creator>
      <dc:date>2013-08-10T00:57:09Z</dc:date>
    </item>
    <item>
      <title>Re: how to retain all the way</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-retain-all-the-way/m-p/107118#M258613</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The more, the merrier:&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do i=1 to 10;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if i=1 then var=100;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else var=.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; drop i;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*set1--join*/&lt;/P&gt;&lt;P&gt;data want_set1;&lt;/P&gt;&lt;P&gt; set have;&lt;/P&gt;&lt;P&gt; if _n_=1 then set have(obs=1 rename=var=_var);&lt;/P&gt;&lt;P&gt;&amp;nbsp; var=coalesce(var,_var);&lt;/P&gt;&lt;P&gt;&amp;nbsp; drop _var;&lt;/P&gt;&lt;P&gt; run;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; /*set2--point= option*/&lt;/P&gt;&lt;P&gt; data want_set2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_=1 then i=_n_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have point=i;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /*set3--DOW*/&lt;/P&gt;&lt;P&gt;&amp;nbsp; data want_set3;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do _n_=1 to nobs;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set have nobs=nobs;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if _n_=1 then _var=var;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; else var=_var;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; drop _var;&lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Aug 2013 14:27:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-retain-all-the-way/m-p/107118#M258613</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-08-10T14:27:21Z</dc:date>
    </item>
  </channel>
</rss>

