<?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: Concatenate if duplicate in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468243#M119572</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID      Name$         State$;
cards;
1        John            CA
2        Amy             FL
3        Tim              MD
4        Seth             NM
5        John             VA
;

proc sort data=have;
by name;
run;

data want;
do until(last.name);
set have;
by name;
retain cnt;
if first.name then cnt=1;
else cnt+1;
end;
do until(last.name);
set have;
by name;
if cnt&amp;gt;1 then name=cats(name,put(id,best.));
output;
end;
run; &lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 07 Jun 2018 03:56:05 GMT</pubDate>
    <dc:creator>Jagadishkatam</dc:creator>
    <dc:date>2018-06-07T03:56:05Z</dc:date>
    <item>
      <title>Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468234#M119568</link>
      <description>&lt;P&gt;I have a SAS dataset with columns ID(number), Name(Character) and other columns.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID &amp;nbsp; &amp;nbsp;&amp;nbsp; Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; State&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; John &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; CA&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Amy &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FL&lt;/P&gt;&lt;P&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Tim &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; MD&lt;/P&gt;&lt;P&gt;4 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Seth &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NM&lt;/P&gt;&lt;P&gt;5 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; John &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VA&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If any of the name in the name column repeats or same name occurs more than once,then it should concatenate with the ID in the name column as below in the new dataset.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID &amp;nbsp; &amp;nbsp;&amp;nbsp; Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; State&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; John1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; CA&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Amy &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FL&lt;/P&gt;&lt;P&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Tim &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; MD&lt;/P&gt;&lt;P&gt;4 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Seth &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NM&lt;/P&gt;&lt;P&gt;5 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; John5 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VA&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What might be the best way to do this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jun 2018 02:07:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468234#M119568</guid>
      <dc:creator>nickspencer</dc:creator>
      <dc:date>2018-06-07T02:07:32Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468236#M119569</link>
      <description>&lt;P&gt;Like this?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data HAVE;
input ID      Name $        State $;
cards;
1        John            CA
2        Amy             FL
3        Tim             MD
4        Seth            NM
5        John            VA
run; 
 
proc sql; 
  create table DUPLICATES as 
  select NAME 
  from HAVE 
  group by NAME
  having count(NAME) &amp;gt; 1;
quit;

data WANT;
  set HAVE;
  if _N_=1 then do;
    dcl hash DUPLICATES(dataset:'DUPLICATES');
    DUPLICATES.definekey('NAME');
    DUPLICATES.definedone();
  end;
  if DUPLICATES.check()=0 then NAME=catt(NAME,ID);
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;ID Name&amp;nbsp; State&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;1&amp;nbsp; John1 CA&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;2&amp;nbsp; Amy&amp;nbsp; &amp;nbsp;FL&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;3&amp;nbsp; Tim&amp;nbsp; &amp;nbsp;MD&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;4&amp;nbsp; Seth&amp;nbsp; NM&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;5&amp;nbsp; John5 VA&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;[Edit: no need for 2 steps, I started with the assumption that you wanted&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;NAME=catt(NAME,_N_);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;I realised it was&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;NAME=catt(NAME,ID);&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;but did not change the code.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So use one of the other single-steps solutions proposed.]&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jun 2018 10:43:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468236#M119569</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2018-06-07T10:43:44Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468242#M119571</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data HAVE;
input ID      Name $        State $;
cards;
1        John            CA
2        Amy             FL
3        Tim             MD
4        Seth            NM
5        John            VA
run; 

data want;
  if _N_=1 then do;
  if 0 then set have;
    declare hash h(dataset:'have',multidata:'y');
    h.definekey('NAME');
    h.definedone();
  end;
set have;
if h.check()=0 then do;
count=1;
 h.has_next(result: r);
 if r ne 0 then count+1;
 if count&amp;gt;1 then NAME=catt(NAME,ID);
 end;
 drop count r;
 run;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 07 Jun 2018 03:48:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468242#M119571</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-06-07T03:48:25Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468243#M119572</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID      Name$         State$;
cards;
1        John            CA
2        Amy             FL
3        Tim              MD
4        Seth             NM
5        John             VA
;

proc sort data=have;
by name;
run;

data want;
do until(last.name);
set have;
by name;
retain cnt;
if first.name then cnt=1;
else cnt+1;
end;
do until(last.name);
set have;
by name;
if cnt&amp;gt;1 then name=cats(name,put(id,best.));
output;
end;
run; &lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 07 Jun 2018 03:56:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468243#M119572</guid>
      <dc:creator>Jagadishkatam</dc:creator>
      <dc:date>2018-06-07T03:56:05Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468245#M119574</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data HAVE;
input ID      Name $        State $;
cards;
1        John            CA
2        Amy             FL
3        Tim             MD
4        Seth            NM
5        John            VA
run;

 proc sql;
 create table want as
 select  id,case when c&amp;gt;1 then catt(a.NAME,ID) else a.name end as name,state
 from have a, (select name, count(name) as c from have group by name) b
 where a.name=b.name;
 quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 07 Jun 2018 04:12:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468245#M119574</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-06-07T04:12:24Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468247#M119576</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data HAVE;
input ID      Name $        State $;
cards;
1        John            CA
2        Amy             FL
3        Tim             MD
4        Seth            NM
5        John            VA
run;
proc sql;
create table want as
select id, case when count(name)&amp;gt;1 then catt(NAME,ID) else name end as name,state
from have
group by name
order by id;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 07 Jun 2018 04:21:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468247#M119576</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-06-07T04:21:24Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468249#M119578</link>
      <description>&lt;P&gt;Yet another SQL solution:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
proc sql;
create table duplicates as
select name from have group by name having count(*) &amp;gt; 1;
update have
set name = cats(name,id)
where name in (select name from duplicates);
drop table duplicates;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 07 Jun 2018 05:19:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468249#M119578</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2018-06-07T05:19:07Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468261#M119580</link>
      <description>&lt;P&gt;A hash with suminc could also be used:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
length count incr 8 name $8;
if _n_ = 1 then do;
    dcl hash h(suminc:"incr");
    h.definekey('name');
    h.definedone();
    incr = 1;
    do until (done);
        set have end=done;
        if h.check() ne 0 then h.add();
        end;
    end;
incr = 0;
set have;
if h.sum(sum:count) eq 0 then
    if count &amp;gt; 1 then name = cats(name,id);
drop incr count;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 07 Jun 2018 06:38:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468261#M119580</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2018-06-07T06:38:12Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468355#M119614</link>
      <description>&lt;P&gt;No need for a 'count' variable in Hash setting:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want_h;
 if _n_=1 then do;
   declare hash h(dataset:'have(keep=name)', multidata:'y');
   h.definekey('name');
   h.definedata(all:'y');
   h.definedone();
   end;

   set have;
   h.find(); 
   h.has_next(result:_n_); 
   if _n_ ne 0 then name=cats(name,id);

run; &lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 07 Jun 2018 13:21:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468355#M119614</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2018-06-07T13:21:55Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468364#M119615</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4877"&gt;@Haikuo&lt;/a&gt;&amp;nbsp;Right, Thank you and a neat catch. Can't believe that didn't cross my mind. I always lack attention to details.&amp;nbsp; &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jun 2018 14:01:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/468364#M119615</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-06-07T14:01:38Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469052#M119905</link>
      <description>&lt;P&gt;Thank you. This is really helpful. But my requirement is changed a little bit. A Teradata table has the following which can be used as a reference.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID &amp;nbsp; &amp;nbsp;&amp;nbsp; Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; State&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; John &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; CA&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Amy &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FL&lt;/P&gt;&lt;P&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Tim &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; MD&lt;/P&gt;&lt;P&gt;4 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Seth &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NM&lt;/P&gt;&lt;P&gt;5 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; John &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VA&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Amy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, if my dataset has any of the names which have occurred more than once in the above reference table. Then it should concatenate. It may not be repeating in the dataset.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID Name&lt;/P&gt;&lt;P&gt;5&amp;nbsp;&amp;nbsp; John&lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;Seth&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp; Tim&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp; Amy&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The output should be&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID Name&lt;/P&gt;&lt;P&gt;5&amp;nbsp;&amp;nbsp; John (5)&lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;Seth&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp; Tim&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp; Amy (6)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in Advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 10 Jun 2018 20:23:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469052#M119905</guid>
      <dc:creator>nickspencer</dc:creator>
      <dc:date>2018-06-10T20:23:54Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469053#M119906</link>
      <description>&lt;P&gt;Thank you. This is really helpful. But my requirement is changed a little bit. A Teradata table has the following which can be used as a reference.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID &amp;nbsp; &amp;nbsp;&amp;nbsp; Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; State&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; John &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; CA&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Amy &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FL&lt;/P&gt;&lt;P&gt;3 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Tim &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; MD&lt;/P&gt;&lt;P&gt;4 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Seth &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NM&lt;/P&gt;&lt;P&gt;5 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; John &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VA&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Amy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, if my dataset has any of the names which have occurred more than once in the above reference table. Then it should concatenate. It may not be repeating in the dataset.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID Name&lt;/P&gt;&lt;P&gt;5&amp;nbsp;&amp;nbsp; John&lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;Seth&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp; Tim&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp; Amy&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The output should be&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID Name&lt;/P&gt;&lt;P&gt;5&amp;nbsp;&amp;nbsp; John (5)&lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;Seth&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp; Tim&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp; Amy (6)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in Advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 10 Jun 2018 20:28:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469053#M119906</guid>
      <dc:creator>nickspencer</dc:creator>
      <dc:date>2018-06-10T20:28:58Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469072#M119911</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/206798"&gt;@nickspencer&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;Given your Have data and your desired result this appears to be mainly a question of "How to select the row with the same name and the highest ID?". Is that correct??&lt;/P&gt;
&lt;P&gt;If so then why do you want to concatenate the ID to the name as well? Isn't that information you've got already in the ID column?&lt;/P&gt;
&lt;P&gt;I also assume that you would want code which executes in-database? Right?&lt;/P&gt;</description>
      <pubDate>Mon, 11 Jun 2018 01:56:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469072#M119911</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2018-06-11T01:56:39Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469075#M119913</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Like this?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data REF;
input ID      Name $        State $;
cards;
1        John            CA
2        Tim             MD
3        Amy             FL
4        Seth            NM
5        John            VA
6        Amy             FL
run; 
 
data HAVE;
input ID      Name $ ;
cards;
2        Tim         
4        Seth        
5        John        
6        Amy         
run; 
 
proc sql; 
  create table WANT as 
  select have.ID
        ,catx(' ',have.NAME,ifc(dup.NAME ne ' ', catt('(',ID,')'),' ')) as NAME
  from HAVE 
         left join 
      (select NAME from REF group by NAME having count(NAME) &amp;gt; 1) dup
        on have.NAME=dup.NAME ;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;ID NAME&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;6&amp;nbsp; Amy (6)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;5&amp;nbsp; John (5)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;4&amp;nbsp; Seth&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;2&amp;nbsp; Tim&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Jun 2018 02:21:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469075#M119913</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2018-06-11T02:21:40Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469077#M119914</link>
      <description>&lt;P&gt;If you want the code on the reference table to execute in database,&lt;/P&gt;
&lt;P&gt;create an intermediate table for&amp;nbsp;&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token statement"&gt;select&lt;/SPAN&gt; NAME &lt;SPAN class="token keyword"&gt;from&lt;/SPAN&gt; REF &lt;SPAN class="token keyword"&gt;group&lt;/SPAN&gt; &lt;SPAN class="token statement"&gt;by&lt;/SPAN&gt; NAME having &lt;SPAN class="token function"&gt;count&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;NAME&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I doubt SAS will pass it as is, but then maybe it will.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Jun 2018 02:24:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469077#M119914</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2018-06-11T02:24:26Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469083#M119918</link>
      <description>&lt;P&gt;Hi ChrisNZ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This works great but the 'have' dataset has about 50 other variables which maynot be convenient to include all in the select clause. Is there any way so I don't have to include all variables in the select clause?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Jun 2018 03:06:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469083#M119918</guid>
      <dc:creator>nickspencer</dc:creator>
      <dc:date>2018-06-11T03:06:33Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469084#M119919</link>
      <description>&lt;P&gt;&lt;SPAN&gt;&amp;gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Is there any way so I don't have to include all variables in the select clause?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You are really hard to follow. The 50 &lt;SPAN&gt;variables&amp;nbsp;&lt;/SPAN&gt;are not included. Only 2 variables are.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Jun 2018 03:16:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469084#M119919</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2018-06-11T03:16:09Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469085#M119920</link>
      <description>&lt;P&gt;Unless you mean you want to *include* but not to&amp;nbsp;explicitly *list*?&lt;/P&gt;
&lt;P&gt;Like this?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; create table WANT(drop=NAME rename=(NAME2=NAME)) as 
  select have.*
        ,catx(' ',have.NAME,ifc(dup.NAME ne ' ', catt('(',ID,')'),' ')) as NAME2&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Please try to be precise in your questions and explanations. It will help you greatly.&lt;/P&gt;
&lt;P&gt;Throwing a few words together as they come is seldom right the first time. Treat these pages as a school essay, not a shopping list.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Jun 2018 03:21:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469085#M119920</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2018-06-11T03:21:08Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate if duplicate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469086#M119921</link>
      <description>&lt;P&gt;That was what I was trying to say. Thanks for your suggestion. &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Jun 2018 03:30:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-if-duplicate/m-p/469086#M119921</guid>
      <dc:creator>nickspencer</dc:creator>
      <dc:date>2018-06-11T03:30:36Z</dc:date>
    </item>
  </channel>
</rss>

