<?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: Using proc transpose to convert data in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179375#M45787</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Either transpose the two groups of variables separately and merge then back together.&lt;/P&gt;&lt;P&gt;Or take you current transpose output and process it to convert the _NAME_ field into a new _NAME_ and TIME fields. Then sort and re-transpose it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Oct 2014 03:34:43 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2014-10-11T03:34:43Z</dc:date>
    <item>
      <title>Using proc transpose to convert data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179369#M45781</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi guys, do you have any idea on how to use proc transpose to convert data have---&amp;gt; data want?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;data have:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Obs Subj X1 X2 X3 X4 X5 Y1 Y2 Y3 Y4 Y5&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 001 8 5 6 5 4 10 20 30 40 50&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 002 7 5 6 4 5 11 33 29 34 56&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 003 2 2 4 5 6 22 38 21 20 34&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;data want:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Obs Subj Time X Y&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 001 1 8 10&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 001 2 5 20&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 001 3 6 30&lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 001 4 5 40&lt;/P&gt;&lt;P&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 001 5 4 50&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 002 1 7 11&lt;/P&gt;&lt;P&gt;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 002 2 5 33&lt;/P&gt;&lt;P&gt;8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 002 3 6 29&lt;/P&gt;&lt;P&gt;9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 002 4 4 34&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 002 5 5 56&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;I wrote the following codes:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;proc transpose data=learn.wide out=long;&lt;/P&gt;&lt;P&gt;by Subj;&lt;/P&gt;&lt;P&gt;var X1-X5 Y1-Y5;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is that X variables and Y variables are under the same column, looks like below:&lt;/P&gt;&lt;P&gt;Subj&amp;nbsp;&amp;nbsp;&amp;nbsp; _name_&amp;nbsp;&amp;nbsp; Col1&lt;/P&gt;&lt;P&gt;001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X1&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; 8&lt;/P&gt;&lt;P&gt;001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X2&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; 5&lt;/P&gt;&lt;P&gt;001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X3&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; 6&lt;/P&gt;&lt;P&gt;001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X4&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; 5&lt;/P&gt;&lt;P&gt;001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X5&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; 4&lt;/P&gt;&lt;P&gt;001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y1&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; 10&lt;/P&gt;&lt;P&gt;001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y2&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; 20&lt;/P&gt;&lt;P&gt;.....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Oct 2014 23:40:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179369#M45781</guid>
      <dc:creator>chouchou</dc:creator>
      <dc:date>2014-10-09T23:40:13Z</dc:date>
    </item>
    <item>
      <title>Re: Using proc transpose to convert data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179370#M45782</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;input&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Subj$ X1 X2 X3 X4 X5 Y1 Y2 Y3 Y4 Y5;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 001 8 5 6 5 4 10 20 30 40 50&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 002 7 5 6 4 5 11 33 29 34 56&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 003 2 2 4 5 6 22 38 21 20 34&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; array xs(*) x1-x5;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; array ys(*) y1-y5;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; do i = 1 to dim(xs);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; x=xs(i);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; y=ys(i);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;rename i = time;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; keep subj x y i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Oct 2014 00:44:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179370#M45782</guid>
      <dc:creator>Jagadishkatam</dc:creator>
      <dc:date>2014-10-10T00:44:33Z</dc:date>
    </item>
    <item>
      <title>Re: Using proc transpose to convert data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179371#M45783</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Arrays are your friends here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data want;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;set have;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;array xx{*} x:;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;array yy{*} y:;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;do time = 1 to dim(xx);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = xx{time}; y = yy{time}; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;keep subj time x y;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Oct 2014 00:47:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179371#M45783</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2014-10-10T00:47:48Z</dc:date>
    </item>
    <item>
      <title>Re: Using proc transpose to convert data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179372#M45784</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you PG.&lt;/P&gt;&lt;P&gt;However I know how to use array to do it, I'm just looking for a way to solve by proc transpose, is it possible?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Oct 2014 00:10:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179372#M45784</guid>
      <dc:creator>chouchou</dc:creator>
      <dc:date>2014-10-11T00:10:58Z</dc:date>
    </item>
    <item>
      <title>Re: Using proc transpose to convert data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179373#M45785</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you &lt;SPAN class="j-post-author "&gt;&lt;STRONG&gt;&lt;A _jive_internal="true" class="jiveTT-hover-user jive-username-link" data-avatarid="1510" data-externalid="" data-presence="null" data-userid="9792" data-username="Jagadishkatam" href="https://communities.sas.com/people/Jagadishkatam" id="jive-979228366217561534186"&gt;Jagadishkatam&lt;/A&gt; &lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;/P&gt;&lt;P&gt;However I know how to use array to do it, I'm just looking for a way to solve by proc transpose, is it possible?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Oct 2014 00:11:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179373#M45785</guid>
      <dc:creator>chouchou</dc:creator>
      <dc:date>2014-10-11T00:11:31Z</dc:date>
    </item>
    <item>
      <title>Re: Using proc transpose to convert data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179374#M45786</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There are many ways to do this kind of transposition. Here are two of them using proc transpose: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Two transpositions and a merge */&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc transpose data=have out=tempx name=namex prefix=x;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;by subj;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;var x:;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc transpose data=have out=tempy name=namey prefix=y;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;by subj;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;var y:;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data want2;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;merge tempx tempy; by subj;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;time = input(compress(namex,,"kd"), best.);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;drop name:;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;rename x1=x y1=y;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Variable stacking and block transposition */&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc sql;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;create view temp as&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;select subj, "X" as var, x1, x2, x3, x4, x5 from have&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;union all&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;select subj, "Y", y1, y2, y3, y4, y5 from have&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;union all&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;select subj, "TIME", 1, 2, 3, 4, 5 from have&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;order by subj, var;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;quit;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc transpose data=temp out=want3(drop=_name_);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;by subj;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;var x:;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;id var;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Oct 2014 02:51:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179374#M45786</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2014-10-11T02:51:42Z</dc:date>
    </item>
    <item>
      <title>Re: Using proc transpose to convert data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179375#M45787</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Either transpose the two groups of variables separately and merge then back together.&lt;/P&gt;&lt;P&gt;Or take you current transpose output and process it to convert the _NAME_ field into a new _NAME_ and TIME fields. Then sort and re-transpose it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Oct 2014 03:34:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Using-proc-transpose-to-convert-data/m-p/179375#M45787</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2014-10-11T03:34:43Z</dc:date>
    </item>
  </channel>
</rss>

