<?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 group by id in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/group-by-id/m-p/801669#M315519</link>
    <description>&lt;P&gt;I have the following dataset&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Group&lt;/TD&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;Gender&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;62&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;64&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;66&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;66&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;64&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I would like to do is that if same ID has 'Group = 1 and Group = 2" then I want to create a new variable for ID: final_group = Group 1 if Group = 1; final_group = 'Group 2 Indirect';&lt;/P&gt;&lt;P&gt;if only one record then use same final_group = Group&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Something like this:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Group&lt;/TD&gt;&lt;TD&gt;Final_phase&lt;/TD&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;Gender&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Group 1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Group 2 Indirect&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Group 2 Direct&lt;/TD&gt;&lt;TD&gt;62&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Group 1&lt;/TD&gt;&lt;TD&gt;64&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Group 1&lt;/TD&gt;&lt;TD&gt;66&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Group 2 Indirect&lt;/TD&gt;&lt;TD&gt;66&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Group 2 Direct&lt;/TD&gt;&lt;TD&gt;64&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Group 1&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Group 2 Indirect&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried to do max per patient and create additional datasets but was wondering if there is an easy way&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 11 Mar 2022 14:43:36 GMT</pubDate>
    <dc:creator>pacman94</dc:creator>
    <dc:date>2022-03-11T14:43:36Z</dc:date>
    <item>
      <title>group by id</title>
      <link>https://communities.sas.com/t5/SAS-Programming/group-by-id/m-p/801669#M315519</link>
      <description>&lt;P&gt;I have the following dataset&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Group&lt;/TD&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;Gender&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;62&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;64&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;66&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;66&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;64&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I would like to do is that if same ID has 'Group = 1 and Group = 2" then I want to create a new variable for ID: final_group = Group 1 if Group = 1; final_group = 'Group 2 Indirect';&lt;/P&gt;&lt;P&gt;if only one record then use same final_group = Group&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Something like this:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Group&lt;/TD&gt;&lt;TD&gt;Final_phase&lt;/TD&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;Gender&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Group 1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Group 2 Indirect&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Group 2 Direct&lt;/TD&gt;&lt;TD&gt;62&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Group 1&lt;/TD&gt;&lt;TD&gt;64&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Group 1&lt;/TD&gt;&lt;TD&gt;66&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Group 2 Indirect&lt;/TD&gt;&lt;TD&gt;66&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Group 2 Direct&lt;/TD&gt;&lt;TD&gt;64&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Group 1&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Group 2 Indirect&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;Female&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried to do max per patient and create additional datasets but was wondering if there is an easy way&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Mar 2022 14:43:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/group-by-id/m-p/801669#M315519</guid>
      <dc:creator>pacman94</dc:creator>
      <dc:date>2022-03-11T14:43:36Z</dc:date>
    </item>
    <item>
      <title>Re: group by id</title>
      <link>https://communities.sas.com/t5/SAS-Programming/group-by-id/m-p/801683#M315522</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;
	infile cards ;
	input id  group  age gender $ ;
cards ;
1	1	61	Female
1	2	61	Female
2	2	62	Male
3	1	64	Female
4	1	66	Male
4	2	66	Male
5	2	64	Male
6	1	67	Female
6	2	67	Female
;
run ;

proc sort data=have out=srtdhave ;
	by id group ;
run ;

data want ;
	retain group1Flag 0 ;
	drop group1Flag ;
	length final_phase $20 ;
	set srtdhave ;
	by id group ;
	if first.id then do ;
		group1Flag=0 ;
	end ;
	if group=1 then 
		group1Flag=1 ;
	final_phase="Group "!!left(putn(group,"8.")) ;
	if group=2 then do ;
		if group1Flag=1 then do ;
			final_phase=trim(final_phase)!!" Indirect" ;
		end ;
		else
		do ;
			final_phase=trim(final_phase)!!" Direct" ;
		end ;
	end ;
run ;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;A href="https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/lepg/p181g1p4bw3phkn1vt5p67xvynd5.htm" target="_self"&gt;First and Last&lt;/A&gt; are your friend&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Mar 2022 15:33:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/group-by-id/m-p/801683#M315522</guid>
      <dc:creator>AMSAS</dc:creator>
      <dc:date>2022-03-11T15:33:57Z</dc:date>
    </item>
  </channel>
</rss>

