<?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 data transformation: multiple columns to single column in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/data-transformation-multiple-columns-to-single-column/m-p/35420#M8738</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If all of your columns (except for index) are called zctaX (where x is an incremental number), and your data file is called 'have', then the following will do what you want:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input Index ZCTA1-ZCTA4;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards; &lt;/P&gt;&lt;P&gt;1 35010 . . .&lt;/P&gt;&lt;P&gt;2 36830 36831 36832 36849&lt;/P&gt;&lt;P&gt;3 36507 36509 . .&lt;/P&gt;&lt;P&gt;4 36502 . . .&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc transpose data=have&lt;/P&gt;&lt;P&gt;&amp;nbsp; out=want (rename=(col1=zcta) where=(not missing(zcta)));&lt;/P&gt;&lt;P&gt;&amp;nbsp; by index;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var ZCTA:;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 22 Jan 2012 23:38:47 GMT</pubDate>
    <dc:creator>art297</dc:creator>
    <dc:date>2012-01-22T23:38:47Z</dc:date>
    <item>
      <title>data transformation: multiple columns to single column</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/data-transformation-multiple-columns-to-single-column/m-p/35419#M8737</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;﻿Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to do the following:&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 240pt;" width="320"&gt;&lt;TBODY&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD class="xl72" height="17" style="height: 12.75pt; width: 48pt;" width="64"&gt;Index&lt;/TD&gt;&lt;TD class="xl73" style="width: 48pt;" width="64"&gt;ZCTA&lt;/TD&gt;&lt;TD class="xl74" style="width: 48pt;" width="64"&gt;&lt;/TD&gt;&lt;TD class="xl74" style="width: 48pt;" width="64"&gt;&lt;/TD&gt;&lt;TD class="xl74" style="width: 48pt;" width="64"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD align="right" class="xl75" height="17" style="height: 12.75pt;"&gt;1&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;35010&lt;/TD&gt;&lt;TD class="xl71"&gt;&lt;BR /&gt;&lt;/TD&gt;&lt;TD class="xl71"&gt;&lt;BR /&gt;&lt;/TD&gt;&lt;TD class="xl71"&gt;&lt;BR /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD align="right" class="xl75" height="17" style="height: 12.75pt;"&gt;2&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36830&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36831&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36832&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36849&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD align="right" class="xl75" height="17" style="height: 12.75pt;"&gt;3&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36507&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36509&lt;/TD&gt;&lt;TD class="xl71"&gt;&lt;BR /&gt;&lt;/TD&gt;&lt;TD class="xl71"&gt;&lt;BR /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD align="right" class="xl75" height="17" style="height: 12.75pt;"&gt;4&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36502&lt;/TD&gt;&lt;TD class="xl71"&gt;&lt;BR /&gt;&lt;/TD&gt;&lt;TD class="xl71"&gt;&lt;BR /&gt;&lt;/TD&gt;&lt;TD class="xl71"&gt;&lt;BR /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;to&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 96pt;" width="128"&gt;&lt;TBODY&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD class="xl72" height="17" style="height: 12.75pt; width: 48pt;" width="64"&gt;Index&lt;/TD&gt;&lt;TD class="xl73" style="width: 48pt;" width="64"&gt;ZCTA&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD align="right" class="xl74" height="17" style="height: 12.75pt;"&gt;1&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;35010&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD align="right" class="xl74" height="17" style="height: 12.75pt;"&gt;2&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36830&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD align="right" class="xl74" height="17" style="height: 12.75pt;"&gt;2&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36831&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD align="right" class="xl74" height="17" style="height: 12.75pt;"&gt;2&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36832&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD align="right" class="xl74" height="17" style="height: 12.75pt;"&gt;2&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36849&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD align="right" class="xl74" height="17" style="height: 12.75pt;"&gt;3&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36507&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD align="right" class="xl74" height="17" style="height: 12.75pt;"&gt;3&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36509&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="height: 12.75pt;"&gt;&lt;TD align="right" class="xl74" height="17" style="height: 12.75pt;"&gt;4&lt;/TD&gt;&lt;TD align="right" class="xl71"&gt;36502&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have some rows with over 90 columns.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I appreciate your help in advance!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Chris&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 22 Jan 2012 22:41:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/data-transformation-multiple-columns-to-single-column/m-p/35419#M8737</guid>
      <dc:creator>jkf91</dc:creator>
      <dc:date>2012-01-22T22:41:45Z</dc:date>
    </item>
    <item>
      <title>data transformation: multiple columns to single column</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/data-transformation-multiple-columns-to-single-column/m-p/35420#M8738</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If all of your columns (except for index) are called zctaX (where x is an incremental number), and your data file is called 'have', then the following will do what you want:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input Index ZCTA1-ZCTA4;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards; &lt;/P&gt;&lt;P&gt;1 35010 . . .&lt;/P&gt;&lt;P&gt;2 36830 36831 36832 36849&lt;/P&gt;&lt;P&gt;3 36507 36509 . .&lt;/P&gt;&lt;P&gt;4 36502 . . .&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc transpose data=have&lt;/P&gt;&lt;P&gt;&amp;nbsp; out=want (rename=(col1=zcta) where=(not missing(zcta)));&lt;/P&gt;&lt;P&gt;&amp;nbsp; by index;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var ZCTA:;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 22 Jan 2012 23:38:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/data-transformation-multiple-columns-to-single-column/m-p/35420#M8738</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-01-22T23:38:47Z</dc:date>
    </item>
    <item>
      <title>data transformation: multiple columns to single column</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/data-transformation-multiple-columns-to-single-column/m-p/35421#M8739</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;infile datalines missover;&lt;/P&gt;&lt;P&gt;input index zcta z1-z3;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;35010 &lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;36830&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;36831&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;36832&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;36849&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;36507&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;36509 &lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;36502 &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;data want(keep=index zcta);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array _n(*) zcta z1-z3;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do i=1 to dim(_n) while (_n(i) ne .);&lt;/P&gt;&lt;P&gt;&amp;nbsp; zcta=_n(i);&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; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp; option nocenter;&lt;/P&gt;&lt;P&gt;&amp;nbsp; proc print;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Obs&amp;nbsp;&amp;nbsp;&amp;nbsp; index&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zcta&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 35010&lt;/P&gt;&lt;P&gt; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 36830&lt;/P&gt;&lt;P&gt; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 36831&lt;/P&gt;&lt;P&gt; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 36832&lt;/P&gt;&lt;P&gt; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 36849&lt;/P&gt;&lt;P&gt; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 36507&lt;/P&gt;&lt;P&gt; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 36509&lt;/P&gt;&lt;P&gt; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 36502&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Linlin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 22 Jan 2012 23:41:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/data-transformation-multiple-columns-to-single-column/m-p/35421#M8739</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-01-22T23:41:22Z</dc:date>
    </item>
  </channel>
</rss>

