<?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: agegroup names concatinate in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544575#M7879</link>
    <description>&lt;P&gt;More fun before my coffee break&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=sashelp.class out=have;
by age;
run;
proc transpose data=have(keep=age name) out=_have(drop=_:);
by age;
var name;
run;
data want;
merge have _have;
by age;
length  Same_age_group_names $100;
if last.age then Same_age_group_names=catx(' ',of col:);
drop col:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 20 Mar 2019 14:00:14 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2019-03-20T14:00:14Z</dc:date>
    <item>
      <title>agegroup names concatinate</title>
      <link>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544553#M7867</link>
      <description>&lt;P&gt;In sashelp.class&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to cancatinate name those who have same age group&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;i want output as like below&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Name&lt;/TD&gt;&lt;TD&gt;Sex&lt;/TD&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;Height&lt;/TD&gt;&lt;TD&gt;Weight&lt;/TD&gt;&lt;TD&gt;Same age_group _names&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Joyce&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;51.3&lt;/TD&gt;&lt;TD&gt;50.5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Thomas&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;57.5&lt;/TD&gt;&lt;TD&gt;85&lt;/TD&gt;&lt;TD&gt;Joyce Thomas&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;57.3&lt;/TD&gt;&lt;TD&gt;83&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Jane&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;59.8&lt;/TD&gt;&lt;TD&gt;84.5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;John&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;59&lt;/TD&gt;&lt;TD&gt;99.5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Louise&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;56.3&lt;/TD&gt;&lt;TD&gt;77&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Robert&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;64.8&lt;/TD&gt;&lt;TD&gt;128&lt;/TD&gt;&lt;TD&gt;James Jane John Louise&amp;nbsp; Robert&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Alice&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;56.5&lt;/TD&gt;&lt;TD&gt;84&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Barbara&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;65.3&lt;/TD&gt;&lt;TD&gt;98&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Jeffrey&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;62.5&lt;/TD&gt;&lt;TD&gt;84&lt;/TD&gt;&lt;TD&gt;Alice Barbara&amp;nbsp; Jeffrey&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Alfred&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;69&lt;/TD&gt;&lt;TD&gt;112.5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Carol&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;62.8&lt;/TD&gt;&lt;TD&gt;102.5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;63.5&lt;/TD&gt;&lt;TD&gt;102.5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Judy&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;64.3&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;Alfred Carol Henry&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Janet&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;62.5&lt;/TD&gt;&lt;TD&gt;112.5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Mary&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;66.5&lt;/TD&gt;&lt;TD&gt;112&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Ronald&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;133&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;William&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;66.5&lt;/TD&gt;&lt;TD&gt;112&lt;/TD&gt;&lt;TD&gt;Janet Mary Ronald William&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Philip&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;72&lt;/TD&gt;&lt;TD&gt;150&lt;/TD&gt;&lt;TD&gt;Philip&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Wed, 20 Mar 2019 13:24:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544553#M7867</guid>
      <dc:creator>BrahmanandaRao</dc:creator>
      <dc:date>2019-03-20T13:24:33Z</dc:date>
    </item>
    <item>
      <title>Re: agegroup names concatinate</title>
      <link>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544558#M7870</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
proc sort data=sashelp.class out=have;
by age;
run;

data want;
do until(last.age);
set have;
by age;
length temp Same_age_group_names $100;
temp=catx(' ',temp,name);
if last.age then Same_age_group_names=temp;
output;
end;
drop temp;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 20 Mar 2019 13:32:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544558#M7870</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-03-20T13:32:02Z</dc:date>
    </item>
    <item>
      <title>Re: agegroup names concatinate</title>
      <link>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544559#M7871</link>
      <description>Thank you very much</description>
      <pubDate>Wed, 20 Mar 2019 13:34:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544559#M7871</guid>
      <dc:creator>BrahmanandaRao</dc:creator>
      <dc:date>2019-03-20T13:34:28Z</dc:date>
    </item>
    <item>
      <title>Re: agegroup names concatinate</title>
      <link>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544564#M7873</link>
      <description>&lt;P&gt;First you need to make sure the data set is sorted by Age and then use a Data step with a by clause. Example code with comments below:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;* sort the input dataset by age and name (the latter is optional);
proc sort data=sashelp.class out=sortedbyage;
	by Age Name;
run;

* create a new dataset with concatenated names;
data concatenatednames;
	* use sorted dataset;
	set sortedbyage;
	* group by Age;
	by Age;
	* Same_age is the temporary variable for holding the concatenated names. Make it sufficiently long;
	length Same_age $ 80;
	* Same_age_group_names will hold the final value at the last record for a certain age;
	length Same_age_group_names $ 80;

	* Hold on to the value in the Same_age variable across observations;
	retain Same_age;
	if first.Age then
     do;
		* First record of a certain age, initialize the variable with the name of the student;
		Same_age = Name;
	 end;
	else 
	 do;
		* Not the first record, append the name to the Same_age variable;
		Same_age = CATX(" ", Same_age, Name);
	 end;
	if last.Age then
	 do;
	 	* Last record of a certain age. Save the concatenated string in the Same_age_group_names variable;
		Same_age_group_names = Same_age;
	 end;
	* We don't want Same_age to end up in our data, so drop it;
	drop Same_age;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 20 Mar 2019 13:43:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544564#M7873</guid>
      <dc:creator>Arjen</dc:creator>
      <dc:date>2019-03-20T13:43:25Z</dc:date>
    </item>
    <item>
      <title>Re: agegroup names concatinate</title>
      <link>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544565#M7874</link>
      <description>&lt;P&gt;Beat me to it &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Mar 2019 13:44:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544565#M7874</guid>
      <dc:creator>Arjen</dc:creator>
      <dc:date>2019-03-20T13:44:15Z</dc:date>
    </item>
    <item>
      <title>Re: agegroup names concatinate</title>
      <link>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544568#M7876</link>
      <description>&lt;P&gt;HI&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/248339"&gt;@Arjen&lt;/a&gt;&amp;nbsp; Appreciate your traditional approach and nice comments. That's a virtue.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Mar 2019 13:45:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544568#M7876</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-03-20T13:45:34Z</dc:date>
    </item>
    <item>
      <title>Re: agegroup names concatinate</title>
      <link>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544572#M7877</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;.&amp;nbsp;&lt;BR /&gt;Thanks. Like the do-until approach as well. Would never have thought of that.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Mar 2019 13:55:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544572#M7877</guid>
      <dc:creator>Arjen</dc:creator>
      <dc:date>2019-03-20T13:55:53Z</dc:date>
    </item>
    <item>
      <title>Re: agegroup names concatinate</title>
      <link>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544575#M7879</link>
      <description>&lt;P&gt;More fun before my coffee break&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=sashelp.class out=have;
by age;
run;
proc transpose data=have(keep=age name) out=_have(drop=_:);
by age;
var name;
run;
data want;
merge have _have;
by age;
length  Same_age_group_names $100;
if last.age then Same_age_group_names=catx(' ',of col:);
drop col:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 20 Mar 2019 14:00:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544575#M7879</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-03-20T14:00:14Z</dc:date>
    </item>
    <item>
      <title>Re: agegroup names concatinate</title>
      <link>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544576#M7880</link>
      <description>&lt;P&gt;Brilliant&amp;nbsp;&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;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Mar 2019 14:02:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544576#M7880</guid>
      <dc:creator>Arjen</dc:creator>
      <dc:date>2019-03-20T14:02:54Z</dc:date>
    </item>
    <item>
      <title>Re: agegroup names concatinate</title>
      <link>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544578#M7882</link>
      <description>&lt;P&gt;Park in temp array and concatenate all at once&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=sashelp.class out=have;
by age;
run;
data want;
array temp(999)$20 _temporary_;
call missing( of temp(*));
do _n_=1 by 1 until(last.age);
set have;
by age;
length  Same_age_group_names $100;
temp(_n_)=name;
if last.age then Same_age_group_names=catx(' ',of temp(*));
output;
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Edited to add fogotten &lt;STRONG&gt;call missing&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Mar 2019 14:09:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544578#M7882</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-03-20T14:09:44Z</dc:date>
    </item>
    <item>
      <title>Re: agegroup names concatinate</title>
      <link>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544580#M7884</link>
      <description>&lt;P&gt;Anyone would be crazy not to love the versatility of the SAS programming language and the data step.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Mar 2019 14:09:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544580#M7884</guid>
      <dc:creator>Arjen</dc:creator>
      <dc:date>2019-03-20T14:09:16Z</dc:date>
    </item>
    <item>
      <title>Re: agegroup names concatinate</title>
      <link>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544581#M7885</link>
      <description>&lt;P&gt;Indeed sir&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/248339"&gt;@Arjen&lt;/a&gt;&amp;nbsp; &amp;nbsp;extremely addictive&amp;nbsp; &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Mar 2019 14:11:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/agegroup-names-concatinate/m-p/544581#M7885</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-03-20T14:11:19Z</dc:date>
    </item>
  </channel>
</rss>

