<?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 Merge multiple rows into a single row by group in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541258#M149407</link>
    <description>&lt;P&gt;Say I have a dataset as following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;group&amp;nbsp; id&amp;nbsp; var1&amp;nbsp; var2&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; x1&amp;nbsp; &amp;nbsp; &amp;nbsp;x2&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; x3&amp;nbsp; &amp;nbsp; &amp;nbsp;x4&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; x5&amp;nbsp; &amp;nbsp; &amp;nbsp;x6&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; y1&amp;nbsp; &amp;nbsp; &amp;nbsp;y2&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; y3&amp;nbsp; &amp;nbsp; &amp;nbsp;y4&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; y5&amp;nbsp; &amp;nbsp; &amp;nbsp;y6&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; z1&amp;nbsp; &amp;nbsp; &amp;nbsp;z2&lt;/P&gt;&lt;P&gt;&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;.&lt;/P&gt;&lt;P&gt;&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;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to obtain a dataset like this:&lt;/P&gt;&lt;P&gt;group&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var1&amp;nbsp; &amp;nbsp; var2&amp;nbsp; &amp;nbsp; &amp;nbsp;var3&amp;nbsp; &amp;nbsp; &amp;nbsp;var4&amp;nbsp; &amp;nbsp; var5&amp;nbsp; &amp;nbsp; var6&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x4&amp;nbsp; &amp;nbsp; &amp;nbsp; x5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x6&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;y1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;y4&amp;nbsp; &amp;nbsp; &amp;nbsp; y5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y6&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;z1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; z2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ....&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any idea on how to transpose the 1st table? Thanks.&lt;/P&gt;</description>
    <pubDate>Thu, 07 Mar 2019 22:27:09 GMT</pubDate>
    <dc:creator>liyongkai800</dc:creator>
    <dc:date>2019-03-07T22:27:09Z</dc:date>
    <item>
      <title>Merge multiple rows into a single row by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541258#M149407</link>
      <description>&lt;P&gt;Say I have a dataset as following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;group&amp;nbsp; id&amp;nbsp; var1&amp;nbsp; var2&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; x1&amp;nbsp; &amp;nbsp; &amp;nbsp;x2&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; x3&amp;nbsp; &amp;nbsp; &amp;nbsp;x4&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; x5&amp;nbsp; &amp;nbsp; &amp;nbsp;x6&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; y1&amp;nbsp; &amp;nbsp; &amp;nbsp;y2&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; y3&amp;nbsp; &amp;nbsp; &amp;nbsp;y4&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; y5&amp;nbsp; &amp;nbsp; &amp;nbsp;y6&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; z1&amp;nbsp; &amp;nbsp; &amp;nbsp;z2&lt;/P&gt;&lt;P&gt;&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;.&lt;/P&gt;&lt;P&gt;&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;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to obtain a dataset like this:&lt;/P&gt;&lt;P&gt;group&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var1&amp;nbsp; &amp;nbsp; var2&amp;nbsp; &amp;nbsp; &amp;nbsp;var3&amp;nbsp; &amp;nbsp; &amp;nbsp;var4&amp;nbsp; &amp;nbsp; var5&amp;nbsp; &amp;nbsp; var6&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x4&amp;nbsp; &amp;nbsp; &amp;nbsp; x5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x6&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;y1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;y4&amp;nbsp; &amp;nbsp; &amp;nbsp; y5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y6&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;z1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; z2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ....&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any idea on how to transpose the 1st table? Thanks.&lt;/P&gt;</description>
      <pubDate>Thu, 07 Mar 2019 22:27:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541258#M149407</guid>
      <dc:creator>liyongkai800</dc:creator>
      <dc:date>2019-03-07T22:27:09Z</dc:date>
    </item>
    <item>
      <title>Re: Merge multiple rows into a single row by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541260#M149408</link>
      <description>&lt;P&gt;Does your ID variable really take on values of 1, 2, and 3 all the time?&amp;nbsp; That would make life simple if true.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Are VAR1 and VAR2 character variables?&lt;/P&gt;</description>
      <pubDate>Thu, 07 Mar 2019 22:37:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541260#M149408</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2019-03-07T22:37:28Z</dc:date>
    </item>
    <item>
      <title>Re: Merge multiple rows into a single row by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541263#M149410</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input group  id  var1 $  var2 $;
cards;
   1      1    x1     x2 
   1      2    x3     x4
   1      3    x5     x6
   2      1    y1     y2
   2      2    y3     y4
   2      3    y5     y6
   3      1    z1     z2
   ;

proc transpose data=have out=_have(drop=_name_ id);
by group id ;
var var:;
run;
proc sql;
select max(c) into :m
from (select group, count(col1) as c from _have group by group);
quit;

data want;
do _n_=1 by 1until(last.group);
set _have;
by group;
array var(&amp;amp;m)$2;
var(_n_)=col1;
end;
drop col1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 07 Mar 2019 22:40:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541263#M149410</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-03-07T22:40:44Z</dc:date>
    </item>
    <item>
      <title>Re: Merge multiple rows into a single row by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541264#M149411</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input group  id  var1 $  var2 $;
cards;
   1      1    x1     x2 
   1      2    x3     x4
   1      3    x5     x6
   2      1    y1     y2
   2      2    y3     y4
   2      3    y5     y6
   3      1    z1     z2
   ;

proc transpose data=have out=_have(drop=_name_ id);
by group id ;
var var:;
run;
proc sql;
select max(c) into :m
from (select group, count(col1) as c from _have group by group);
quit;


proc summary nway data=_have missing; 
 class group; 
 output 
 out = work.wide(drop=_type_ _freq_) 
 idgroup(out[&amp;amp;m](col1)=) 
 ;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 07 Mar 2019 22:42:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541264#M149411</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-03-07T22:42:56Z</dc:date>
    </item>
    <item>
      <title>Re: Merge multiple rows into a single row by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541267#M149412</link>
      <description>I'm typing this on mobile and haven't ran it but something like ..&lt;BR /&gt;&lt;BR /&gt;Data work.want(drop=id have1 have2);&lt;BR /&gt;Set work.have(rename = (var1 = have1 var2=have2));&lt;BR /&gt;By group;&lt;BR /&gt;Array vars{6} var1-var6;&lt;BR /&gt;&lt;BR /&gt;Vars{(id*2)-1} = have1;&lt;BR /&gt;Vars{id*2} =have2;&lt;BR /&gt;If last.group;&lt;BR /&gt;Run;&lt;BR /&gt;</description>
      <pubDate>Thu, 07 Mar 2019 22:46:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541267#M149412</guid>
      <dc:creator>DanielLangley</dc:creator>
      <dc:date>2019-03-07T22:46:52Z</dc:date>
    </item>
    <item>
      <title>Re: Merge multiple rows into a single row by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541311#M149434</link>
      <description>You would probably also need to retain these values as well. Oops.</description>
      <pubDate>Fri, 08 Mar 2019 07:08:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541311#M149434</guid>
      <dc:creator>DanielLangley</dc:creator>
      <dc:date>2019-03-08T07:08:47Z</dc:date>
    </item>
    <item>
      <title>Re: Merge multiple rows into a single row by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541319#M149440</link>
      <description>Yes, and clean out the retained values when beginning a new GROUP.</description>
      <pubDate>Fri, 08 Mar 2019 07:40:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541319#M149440</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2019-03-08T07:40:20Z</dc:date>
    </item>
    <item>
      <title>Re: Merge multiple rows into a single row by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541338#M149450</link>
      <description>yes, ID is always like 1,2,3. Var1 and Var2 are numerical variables</description>
      <pubDate>Fri, 08 Mar 2019 09:54:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541338#M149450</guid>
      <dc:creator>liyongkai800</dc:creator>
      <dc:date>2019-03-08T09:54:59Z</dc:date>
    </item>
    <item>
      <title>Re: Merge multiple rows into a single row by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541413#M149471</link>
      <description>&lt;P&gt;In that case, I would use the&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/209943"&gt;@DanielLangley&lt;/a&gt;&amp;nbsp;solution (with a couple of patches to it ... retain the new variables, and clean them out when beginning a new GROUP just in case that GROUP doesn't have observations for all 3 ID values).&amp;nbsp; That's the approach I would have used if I had received your answer sooner.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Mar 2019 14:42:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-multiple-rows-into-a-single-row-by-group/m-p/541413#M149471</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2019-03-08T14:42:14Z</dc:date>
    </item>
  </channel>
</rss>

