<?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: transpose in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371905#M88858</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;&amp;nbsp;I meant to add (1+2) = 3, not concatenate.&lt;/P&gt;</description>
    <pubDate>Thu, 29 Jun 2017 20:52:28 GMT</pubDate>
    <dc:creator>SAS_inquisitive</dc:creator>
    <dc:date>2017-06-29T20:52:28Z</dc:date>
    <item>
      <title>transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371873#M88838</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;How to get the desired output without using TRANSPOSE (entirely in data step)?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data a;
	input x $ y $ z;
	cards;
t1 a 1
t2 a 1
t3 a 1
t1 b 2
t2 b 2
t3 b 2
;
run;

proc sort data = a;
	by x;
run;

proc transpose data = a out=b (drop = _name_);
	by x;
	var y;
run;

data want;
	set b;
	y=cats(col1,col2);
	drop col1 col2;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jun 2017 19:23:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371873#M88838</guid>
      <dc:creator>SAS_inquisitive</dc:creator>
      <dc:date>2017-06-29T19:23:39Z</dc:date>
    </item>
    <item>
      <title>Re: transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371882#M88842</link>
      <description>&lt;P&gt;Is there any reason you included your variable Z in data set A since it has no bearing or presence in the end result?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For your limited example this replicates the result.&lt;/P&gt;
&lt;PRE&gt;ata a;
	input x $ y $ z;
	cards;
t1 a 1
t2 a 1
t3 a 1
t1 b 2
t2 b 2
t3 b 2
;
run;

proc sort data = a;
	by x y;
run;

data want;
   set a;
   by x;
   length result $ 100;
   retain result;
   if first.x then result=y;
   else result= cats(result,y);
   if last.x;
   keep x result;
run;&lt;/PRE&gt;</description>
      <pubDate>Thu, 29 Jun 2017 19:46:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371882#M88842</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-06-29T19:46:38Z</dc:date>
    </item>
    <item>
      <title>Re: transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371885#M88845</link>
      <description>&lt;P&gt;Or, if you want an approach that uses the lag function:&lt;/P&gt;
&lt;PRE&gt;data want;
  set a (drop=z);
  by x;
  y=ifc(last.x,catt(lag(y),y),'');
  if last.x then output;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jun 2017 19:50:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371885#M88845</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-06-29T19:50:57Z</dc:date>
    </item>
    <item>
      <title>Re: transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371891#M88849</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;&amp;nbsp;Thank you. I also meant to add the values of &amp;nbsp;z &amp;nbsp;for a and b of y for each x creating third column.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;x &amp;nbsp; &amp;nbsp; result &amp;nbsp; &amp;nbsp;z&lt;/P&gt;&lt;P&gt;t1 &amp;nbsp; &amp;nbsp;ab &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;/P&gt;&lt;P&gt;t2 &amp;nbsp; &amp;nbsp;ab &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;/P&gt;&lt;P&gt;t3 &amp;nbsp; &amp;nbsp;ab &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jun 2017 20:40:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371891#M88849</guid>
      <dc:creator>SAS_inquisitive</dc:creator>
      <dc:date>2017-06-29T20:40:52Z</dc:date>
    </item>
    <item>
      <title>Re: transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371900#M88855</link>
      <description>&lt;P&gt;Easy enough to add the 3rd column:&lt;/P&gt;
&lt;PRE&gt;data want (drop=_:);
  set a (rename=(z=_z));
  by x;
  y=ifc(last.x,catt(lag(y),y),'');
  z=ifc(last.x,catt(lag(_z),_z),'');
  if last.x then output;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jun 2017 20:48:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371900#M88855</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-06-29T20:48:16Z</dc:date>
    </item>
    <item>
      <title>Re: transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371905#M88858</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;&amp;nbsp;I meant to add (1+2) = 3, not concatenate.&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jun 2017 20:52:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371905#M88858</guid>
      <dc:creator>SAS_inquisitive</dc:creator>
      <dc:date>2017-06-29T20:52:28Z</dc:date>
    </item>
    <item>
      <title>Re: transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371909#M88861</link>
      <description>&lt;P&gt;Then just use the sum function instead of the catt function&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jun 2017 21:00:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371909#M88861</guid>
      <dc:creator>jdwaterman91</dc:creator>
      <dc:date>2017-06-29T21:00:20Z</dc:date>
    </item>
    <item>
      <title>Re: transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371911#M88862</link>
      <description>&lt;P&gt;Here's an extended version of my previous to encorporate a sum.&lt;/P&gt;
&lt;PRE&gt;data want;
   set a;
   by x;
   length result $ 100;
   retain result zsum;
   if first.x then do;
      result=y;
      zsum=z;
   end;
   else do;
      result= cats(result,y);
      zsum = sum(zsum,z);
   end;
   if last.x;
   keep x result zsum;
run;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As a suggestion for future questions, it would be a better example if the row results are not essentially the same as your result may not demonstrate the actualy desired result well.&lt;/P&gt;
&lt;PRE&gt;data a;
	input x $ y $ z;
	cards;
t1 a 1
t2 a 2
t3 c 4
t1 b 5
t2 c 6
t3 b 7
;
run;&lt;/PRE&gt;
&lt;P&gt;for instance will get different results when using&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;proc&lt;/FONT&gt; &lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;sort&lt;/FONT&gt; &lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;data&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; = a;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;by&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; x y;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;run&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="SAS Monospace" size="2"&gt;or &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;proc&lt;/FONT&gt; &lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;sort&lt;/FONT&gt; &lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;data&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; = a;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;by&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt; x ;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="2"&gt;run&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="SAS Monospace" size="2"&gt;which may be important.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jun 2017 21:05:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371911#M88862</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-06-29T21:05:07Z</dc:date>
    </item>
    <item>
      <title>Re: transpose</title>
      <link>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371913#M88864</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;&amp;nbsp;Thank you. This answer &amp;nbsp;also serves my purpose, but can accept only one soution.&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jun 2017 21:11:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/transpose/m-p/371913#M88864</guid>
      <dc:creator>SAS_inquisitive</dc:creator>
      <dc:date>2017-06-29T21:11:51Z</dc:date>
    </item>
  </channel>
</rss>

