<?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: Compress rows as opposed to columns in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122848#M33763</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi LinusH,&lt;/P&gt;&lt;P&gt;I don't understand neither:smileysilly:! I learned from Tom's posts.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 11 Jan 2013 14:08:35 GMT</pubDate>
    <dc:creator>Linlin</dc:creator>
    <dc:date>2013-01-11T14:08:35Z</dc:date>
    <item>
      <title>Compress rows as opposed to columns</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122844#M33759</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Guys,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One of my colleagues just asked me a SAS question and I couldn't find a solution for it online. Imagine there are 3 observations in a table like the following;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Acct no&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data 2&amp;nbsp;&amp;nbsp;&amp;nbsp; data 3&lt;/P&gt;&lt;P&gt;12345678&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data&lt;/P&gt;&lt;P&gt;12345678&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data&lt;/P&gt;&lt;P&gt;12345678&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and he wants it to look as the following;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Acct no&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data 2&amp;nbsp;&amp;nbsp;&amp;nbsp; data 3&lt;/P&gt;&lt;P&gt;12345678&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I'm still learning SAS, but I know that if you need to compress a column, you use the COMPRESS command, however how do we go about compressing row-wise instead?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Jan 2013 13:45:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122844#M33759</guid>
      <dc:creator>Thoney</dc:creator>
      <dc:date>2013-01-11T13:45:19Z</dc:date>
    </item>
    <item>
      <title>Re: Compress rows as opposed to columns</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122845#M33760</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data dd;&lt;BR /&gt;input id var$;&lt;BR /&gt;cards;&lt;BR /&gt;123456 data&lt;BR /&gt;;&lt;BR /&gt;data have;&lt;BR /&gt; set dd(rename=var=data1) dd(rename=var=data2)dd(rename=var=data3);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**************************/&lt;BR /&gt;data want;&lt;BR /&gt; update have(obs=0)have;&lt;BR /&gt; by id;&lt;BR /&gt; proc print;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Jan 2013 13:55:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122845#M33760</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2013-01-11T13:55:23Z</dc:date>
    </item>
    <item>
      <title>Re: Compress rows as opposed to columns</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122846#M33761</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This type of thing could be done using the UPDATE statement.&amp;nbsp; Read the manual to make sure you understand what it does, but basically it will only change the value of a variable when the new record has a non-missing value.&amp;nbsp; So the result will be the last non-missing value for each column.&amp;nbsp; Which appears to be what you want.&amp;nbsp; The UPDATE statement requires two datasets.&amp;nbsp; But the first dataset could be empty.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;data want ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; update have(obs=0) have;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; by account_no ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Jan 2013 13:58:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122846#M33761</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2013-01-11T13:58:00Z</dc:date>
    </item>
    <item>
      <title>Re: Compress rows as opposed to columns</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122847#M33762</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Very neat &lt;A __default_attr="3068" __jive_macro_name="user" class="jive_macro jive_macro_user" href="https://communities.sas.com/"&gt;&lt;/A&gt;, I wouldn't come up with that!&lt;/P&gt;&lt;P&gt;Actually, I don't really understand how that works..:smileyconfused:&lt;/P&gt;&lt;P&gt;I would thought of some SQL, like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select id, max(data1) as data1, max(data2) as data2, max(data3) as data3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from have&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group by id&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;quit; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Jan 2013 14:04:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122847#M33762</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2013-01-11T14:04:45Z</dc:date>
    </item>
    <item>
      <title>Re: Compress rows as opposed to columns</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122848#M33763</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi LinusH,&lt;/P&gt;&lt;P&gt;I don't understand neither:smileysilly:! I learned from Tom's posts.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Jan 2013 14:08:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122848#M33763</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2013-01-11T14:08:35Z</dc:date>
    </item>
    <item>
      <title>Re: Compress rows as opposed to columns</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122849#M33764</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you only want the MAX (or other summary function) instead the value last entered then you can use PROC SUMMARY.&amp;nbsp; When there is only one non-missing value per account number the methods are the same.&amp;nbsp; With PROC SUMMARY the data will not need to be sorted because you can use the CLASS statement instead of a BY statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;proc summary data=&lt;STRONG&gt;have&lt;/STRONG&gt; nway missing ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; class &lt;STRONG&gt;account_no&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; var &lt;STRONG&gt;date1 date2 date3&lt;/STRONG&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; output out=&lt;STRONG&gt;want&lt;/STRONG&gt; (drop=_:) max= ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Jan 2013 14:14:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122849#M33764</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2013-01-11T14:14:41Z</dc:date>
    </item>
    <item>
      <title>Re: Compress rows as opposed to columns</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122850#M33765</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fantastic little section of code that did the job in 4 very short lines! Thanks a lot, and Linlin, ever helpful responses as usual as well, I'm sure your code works too but I tried Tom's to start with because it was a little shorter and I'm lazy (hehe)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Again thanks a lot people, the help is appreciated beyond belief! Starting to become really glad I joined this forum!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Jan 2013 14:21:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Compress-rows-as-opposed-to-columns/m-p/122850#M33765</guid>
      <dc:creator>Thoney</dc:creator>
      <dc:date>2013-01-11T14:21:29Z</dc:date>
    </item>
  </channel>
</rss>

