<?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 Conditional Cancatenation in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431488#M106741</link>
    <description>&lt;P&gt;I need to concatenate the first name and the last name whenever the last 3 digits of the first name column and last name column matches. For example, FirstName&lt;STRONG&gt;001 &lt;/STRONG&gt;has to concatenate&amp;nbsp;with LastName&lt;STRONG&gt;001 &lt;/STRONG&gt;and then create a new column Student001. My actual dataset has more than 100 columns, so I can’t list them out one by one.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have:&lt;/P&gt;
&lt;TABLE width="646"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Center&lt;/TD&gt;
&lt;TD width="97"&gt;FirstName001&lt;/TD&gt;
&lt;TD width="97"&gt;FirstName002&lt;/TD&gt;
&lt;TD width="97"&gt;FirstName003&lt;/TD&gt;
&lt;TD width="97"&gt;LastName001&lt;/TD&gt;
&lt;TD width="97"&gt;LastName002&lt;/TD&gt;
&lt;TD width="97"&gt;LastName003&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;Jason&lt;/TD&gt;
&lt;TD&gt;Katie&lt;/TD&gt;
&lt;TD&gt;Peter&lt;/TD&gt;
&lt;TD&gt;Berkowitz.&lt;/TD&gt;
&lt;TD&gt;Basel&lt;/TD&gt;
&lt;TD&gt;Hirsch&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;Dawn&lt;/TD&gt;
&lt;TD&gt;Betty&lt;/TD&gt;
&lt;TD&gt;Chris&lt;/TD&gt;
&lt;TD&gt;Crane&lt;/TD&gt;
&lt;TD&gt;Barhaghi&lt;/TD&gt;
&lt;TD&gt;Choe&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;Andy&lt;/TD&gt;
&lt;TD&gt;Ben&lt;/TD&gt;
&lt;TD&gt;Donald&lt;/TD&gt;
&lt;TD&gt;Nassar&lt;/TD&gt;
&lt;TD&gt;Amidi&lt;/TD&gt;
&lt;TD&gt;Naomi&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;D&lt;/TD&gt;
&lt;TD&gt;Andrew&lt;/TD&gt;
&lt;TD&gt;Ronald&lt;/TD&gt;
&lt;TD&gt;Chirsty&lt;/TD&gt;
&lt;TD&gt;Lee&lt;/TD&gt;
&lt;TD&gt;Hesham&lt;/TD&gt;
&lt;TD&gt;JoAnn&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;E&lt;/TD&gt;
&lt;TD&gt;Lee&lt;/TD&gt;
&lt;TD&gt;Jennifer&lt;/TD&gt;
&lt;TD&gt;Louis&lt;/TD&gt;
&lt;TD&gt;Banooni&lt;/TD&gt;
&lt;TD&gt;Kimelman&lt;/TD&gt;
&lt;TD&gt;Douglas&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;Want:&lt;/P&gt;
&lt;TABLE width="565"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Center&lt;/TD&gt;
&lt;TD width="167"&gt;Student001&lt;/TD&gt;
&lt;TD width="167"&gt;Student002&lt;/TD&gt;
&lt;TD width="167"&gt;Student003&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;Jason Berkowitz.&lt;/TD&gt;
&lt;TD&gt;Katie Basel&lt;/TD&gt;
&lt;TD&gt;Peter Hirsch&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;Dawn Crane&lt;/TD&gt;
&lt;TD&gt;Betty Barhaghi&lt;/TD&gt;
&lt;TD&gt;Chris Choe&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;Andy Nassar&lt;/TD&gt;
&lt;TD&gt;Ben Amidi&lt;/TD&gt;
&lt;TD&gt;Donald Naomi&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;D&lt;/TD&gt;
&lt;TD&gt;Andrew Lee&lt;/TD&gt;
&lt;TD&gt;Ronald Hesham&lt;/TD&gt;
&lt;TD&gt;Chirsty JoAnn&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;E&lt;/TD&gt;
&lt;TD&gt;Lee Banooni&lt;/TD&gt;
&lt;TD&gt;Jennifer Kimelman&lt;/TD&gt;
&lt;TD&gt;Louis Douglas&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
    <pubDate>Sat, 27 Jan 2018 01:10:41 GMT</pubDate>
    <dc:creator>ernie86</dc:creator>
    <dc:date>2018-01-27T01:10:41Z</dc:date>
    <item>
      <title>Conditional Cancatenation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431488#M106741</link>
      <description>&lt;P&gt;I need to concatenate the first name and the last name whenever the last 3 digits of the first name column and last name column matches. For example, FirstName&lt;STRONG&gt;001 &lt;/STRONG&gt;has to concatenate&amp;nbsp;with LastName&lt;STRONG&gt;001 &lt;/STRONG&gt;and then create a new column Student001. My actual dataset has more than 100 columns, so I can’t list them out one by one.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have:&lt;/P&gt;
&lt;TABLE width="646"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Center&lt;/TD&gt;
&lt;TD width="97"&gt;FirstName001&lt;/TD&gt;
&lt;TD width="97"&gt;FirstName002&lt;/TD&gt;
&lt;TD width="97"&gt;FirstName003&lt;/TD&gt;
&lt;TD width="97"&gt;LastName001&lt;/TD&gt;
&lt;TD width="97"&gt;LastName002&lt;/TD&gt;
&lt;TD width="97"&gt;LastName003&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;Jason&lt;/TD&gt;
&lt;TD&gt;Katie&lt;/TD&gt;
&lt;TD&gt;Peter&lt;/TD&gt;
&lt;TD&gt;Berkowitz.&lt;/TD&gt;
&lt;TD&gt;Basel&lt;/TD&gt;
&lt;TD&gt;Hirsch&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;Dawn&lt;/TD&gt;
&lt;TD&gt;Betty&lt;/TD&gt;
&lt;TD&gt;Chris&lt;/TD&gt;
&lt;TD&gt;Crane&lt;/TD&gt;
&lt;TD&gt;Barhaghi&lt;/TD&gt;
&lt;TD&gt;Choe&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;Andy&lt;/TD&gt;
&lt;TD&gt;Ben&lt;/TD&gt;
&lt;TD&gt;Donald&lt;/TD&gt;
&lt;TD&gt;Nassar&lt;/TD&gt;
&lt;TD&gt;Amidi&lt;/TD&gt;
&lt;TD&gt;Naomi&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;D&lt;/TD&gt;
&lt;TD&gt;Andrew&lt;/TD&gt;
&lt;TD&gt;Ronald&lt;/TD&gt;
&lt;TD&gt;Chirsty&lt;/TD&gt;
&lt;TD&gt;Lee&lt;/TD&gt;
&lt;TD&gt;Hesham&lt;/TD&gt;
&lt;TD&gt;JoAnn&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;E&lt;/TD&gt;
&lt;TD&gt;Lee&lt;/TD&gt;
&lt;TD&gt;Jennifer&lt;/TD&gt;
&lt;TD&gt;Louis&lt;/TD&gt;
&lt;TD&gt;Banooni&lt;/TD&gt;
&lt;TD&gt;Kimelman&lt;/TD&gt;
&lt;TD&gt;Douglas&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;Want:&lt;/P&gt;
&lt;TABLE width="565"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Center&lt;/TD&gt;
&lt;TD width="167"&gt;Student001&lt;/TD&gt;
&lt;TD width="167"&gt;Student002&lt;/TD&gt;
&lt;TD width="167"&gt;Student003&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;A&lt;/TD&gt;
&lt;TD&gt;Jason Berkowitz.&lt;/TD&gt;
&lt;TD&gt;Katie Basel&lt;/TD&gt;
&lt;TD&gt;Peter Hirsch&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;B&lt;/TD&gt;
&lt;TD&gt;Dawn Crane&lt;/TD&gt;
&lt;TD&gt;Betty Barhaghi&lt;/TD&gt;
&lt;TD&gt;Chris Choe&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;C&lt;/TD&gt;
&lt;TD&gt;Andy Nassar&lt;/TD&gt;
&lt;TD&gt;Ben Amidi&lt;/TD&gt;
&lt;TD&gt;Donald Naomi&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;D&lt;/TD&gt;
&lt;TD&gt;Andrew Lee&lt;/TD&gt;
&lt;TD&gt;Ronald Hesham&lt;/TD&gt;
&lt;TD&gt;Chirsty JoAnn&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;E&lt;/TD&gt;
&lt;TD&gt;Lee Banooni&lt;/TD&gt;
&lt;TD&gt;Jennifer Kimelman&lt;/TD&gt;
&lt;TD&gt;Louis Douglas&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Sat, 27 Jan 2018 01:10:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431488#M106741</guid>
      <dc:creator>ernie86</dc:creator>
      <dc:date>2018-01-27T01:10:41Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional Cancatenation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431489#M106742</link>
      <description>&lt;P&gt;data have;&lt;BR /&gt;input Center $ FirstName001 $ FirstName002 $ FirstName003 $ LastName001 $ LastName002 $ LastName003 $;&lt;BR /&gt;cards;&lt;BR /&gt;A Jason Katie Peter Berkowitz. Basel Hirsch&lt;BR /&gt;B Dawn Betty Chris Crane Barhaghi Choe&lt;BR /&gt;C Andy Ben Donald Nassar Amidi Naomi&lt;BR /&gt;D Andrew Ronald Chirsty Lee Hesham JoAnn&lt;BR /&gt;E Lee Jennifer Louis Banooni Kimelman Douglas&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data want;&lt;BR /&gt;set have;&lt;BR /&gt;student001=catx("",FirstName001,LastName001);&lt;BR /&gt;student002=catx("",FirstName002,LastName002);&lt;BR /&gt;student003=catx("",FirstName003,LastName003);&lt;/P&gt;&lt;P&gt;keep center student:;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Jan 2018 23:57:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431489#M106742</guid>
      <dc:creator>rajeshalwayswel</dc:creator>
      <dc:date>2018-01-26T23:57:45Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional Cancatenation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431490#M106743</link>
      <description>&lt;P&gt;are there only few columns then&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt; student001=catx(' ', firstname001, lastname001);&lt;BR /&gt; student002 =catx(' ',firstname002, lastname002)&lt;BR /&gt; student003 = catx(' ', firstname003,lastname003)&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 27 Jan 2018 00:07:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431490#M106743</guid>
      <dc:creator>kiranv_</dc:creator>
      <dc:date>2018-01-27T00:07:39Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional Cancatenation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431494#M106746</link>
      <description>There are more than 100 columns.</description>
      <pubDate>Sat, 27 Jan 2018 01:08:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431494#M106746</guid>
      <dc:creator>ernie86</dc:creator>
      <dc:date>2018-01-27T01:08:35Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional Cancatenation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431496#M106748</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/50296"&gt;@ernie86&lt;/a&gt;&amp;nbsp;&amp;nbsp;Are you wanting to make it trickier with the subject of conditional concatenation? Well, if your columns are in &lt;STRONG&gt;pattern&lt;/STRONG&gt; of&amp;nbsp;&lt;STRONG&gt;sets&lt;/STRONG&gt; as in firstname &lt;STRONG&gt;set&lt;/STRONG&gt;&amp;nbsp;of 3 precedes last name set as shown in your example, all you need is number of elements in one set to compute the automation.&lt;/P&gt;&lt;P&gt;So no matter what the total number of columns divided/2 will give you one set&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Center $ FirstName001 $ FirstName002 $ FirstName003 $ LastName001 $ LastName002 $ LastName003 $;
cards;
A Jason Katie Peter Berkowitz. Basel Hirsch
B Dawn Betty Chris Crane Barhaghi Choe
C Andy Ben Donald Nassar Amidi Naomi
D Andrew Ronald Chirsty Lee Hesham JoAnn
E Lee Jennifer Louis Banooni Kimelman Douglas
run;

data want;
set have;
array t(*) FirstName001--LastName003;
array t1(*)$25 Student001	Student002	Student003;
_n=dim(t)/2;
do _n_=1 to _n;
t1(_n_)=catx(' ',t(_n_),t(_n_+_n));
end;
drop _:;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 27 Jan 2018 01:11:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431496#M106748</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-01-27T01:11:11Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional Cancatenation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431497#M106749</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/50296"&gt;@ernie86&lt;/a&gt;&amp;nbsp;you wrote- &lt;EM&gt;"There are more than 100 columns."&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;This makes it 50 students.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;you can just change the &lt;STRONG&gt;second array subscript&lt;/STRONG&gt; to 50 like&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;array student(50) $25; /* this generates your student number list that want to derive*/&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 27 Jan 2018 01:15:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431497#M106749</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-01-27T01:15:57Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional Cancatenation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431502#M106751</link>
      <description>&lt;P&gt;or something like this&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;

array new(*) $30 student001-student003;
array firstname(*) $ FirstName001-FirstName003;
array lastname(*) $ lastName001-lastName003;
do i = 1 to dim(firstname);
if substr(vname(firstname[i]),10,3) = substr(vname(lastname[i]),9,3)
then new{i}=cats(' ',firstname{i},lastname{i});
end;
run;&lt;BR /&gt; /*or if you have counterpart for every first and last name then*/&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;

array new(*) $20 student001-student003;
array firstname(*) $ FirstName001-FirstName003;
array lastname(*) $ lastName001-lastName003;
do i = 1 to dim(firstname);
 new{i}=cats(' ',firstname{i},lastname{i});
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 27 Jan 2018 01:41:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431502#M106751</guid>
      <dc:creator>kiranv_</dc:creator>
      <dc:date>2018-01-27T01:41:55Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional Cancatenation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431503#M106752</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/37783"&gt;@kiranv_&lt;/a&gt;&amp;nbsp; I like the fact your approach is much simpler to understand however I noticed there can be a&lt;STRONG&gt; few redundancies&lt;/STRONG&gt;&amp;nbsp;in your code that can be eliminated like this--&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
array firstname(*) $ FirstName:;
array lastname(*) $ lastName:;
array student(*)  $30  student001-student003;
do i = 1 to dim(firstname);
student(i)=catx(' ', firstname(i), lastname(i));
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 27 Jan 2018 01:40:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431503#M106752</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-01-27T01:40:58Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional Cancatenation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431505#M106753</link>
      <description>&lt;P&gt;you are right &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;, fixed it&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 27 Jan 2018 01:44:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431505#M106753</guid>
      <dc:creator>kiranv_</dc:creator>
      <dc:date>2018-01-27T01:44:09Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional Cancatenation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431577#M106775</link>
      <description>&lt;P&gt;Here is&amp;nbsp;a solution that will work for any number of columns&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
proc transpose data=have out=long(where=(_name_ ne "Center"));
by center notsorted;
var _character_;
run;

data temp;
set long;
if _name_ =: "First" then part = 1; 
else if _name_ =: "Last" then part = 2;
id = scan(_name_, 1, "", "ab");
drop _name_;
run;

proc sql;
create table longWant as
select a.center, a.id, catx(' ', a.col1, b.col1) as name
from 
    temp as a inner join 
    temp as b on a.center=b.center and a.id=b.id
where a.part=1 and b.part=2
order by center, id;
quit;

proc transpose data=longWant out=want(drop=_name_) prefix=Student;
by center;
var name;
id id;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 28 Jan 2018 05:04:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431577#M106775</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2018-01-28T05:04:38Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional Cancatenation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431583#M106779</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data q1;
infile datalines ;
input Center:$ FirstName001:$ FirstName002:$ FirstName003:$ LastName001:$10. LastName002:$ LastName003:$;
datalines;
A  Jason   Katie    Peter   Berkowitz.	Basel	  Hirsch
B  Dawn	   Betty    Chris   Crane	Barhaghi  Choe
C  Andy	   Ben	    Donald  Nassar	Amidi	  Naomi
D  Andrew  Ronald   Chirsty Lee	        Hesham	  JoAnn
E  Lee	   Jennifer Louis   Banooni   	Kimelman  Douglas
run;
proc print data=q1;
run;

data sol (keep=Center Student001 Student002 Student003);
set q1;
Student001=catx("",FirstName001,LastName001);
Student002=catx("",FirstName002,LastName002);
Student003=catx("",FirstName003,LastName003);
run;
proc print data=sol;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 28 Jan 2018 08:51:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Conditional-Cancatenation/m-p/431583#M106779</guid>
      <dc:creator>Vipul_Sawlani</dc:creator>
      <dc:date>2018-01-28T08:51:07Z</dc:date>
    </item>
  </channel>
</rss>

