<?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: Computing a grouping variable in PROC SQL in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690237#M209980</link>
    <description>&lt;P&gt;I would think you would want to change the continuous variable that would be created by COMPGED into a categorical variable by using Proc Format and then do a GROUP BY that new categorical variable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Actually, I take that back.&amp;nbsp; A little.&amp;nbsp; &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&amp;nbsp; CompGED isn't continuous if I'm understanding correctly.&amp;nbsp; I see discrete values 0, 10, and 20 that would fit your criteria.&amp;nbsp; Therefore, that's something you can group by right there without modification.&amp;nbsp; If you add your two CompGED results, I believe you'd have 0, 10, 20, 30, and 40 as possible values.&amp;nbsp; With that you could try some SQL along these lines (not tested since I don't have any data):&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql	NOPRINT;
	create table dataset as
		select 	copy_1.* 
				,copy_2.* 
				,(compged(student_first , student_first_c) + (compged(student_last , student_last_c))	AS combined_score
			from copy_1, copy_2 
			where compged(student_first , student_first_c) &amp;lt; 30 and compged(student_last , student_last_c) &amp;lt; 30 and ID ^= ID_c
			group	by	CALCULATED	combined_score
			; 
quit; &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Jim&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sample CompGED values:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jimbarbour_0-1602203622784.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/50402i1B85195AE044E905/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jimbarbour_0-1602203622784.png" alt="jimbarbour_0-1602203622784.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV id="tinyMceEditorjimbarbour_0" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 09 Oct 2020 00:35:18 GMT</pubDate>
    <dc:creator>jimbarbour</dc:creator>
    <dc:date>2020-10-09T00:35:18Z</dc:date>
    <item>
      <title>Computing a grouping variable in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690236#M209979</link>
      <description>&lt;P&gt;Hi -&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am matching cases in my dataset based on the approximate similarity in participants' first and last names. I did the matching, but I am not sure how to add a grouping variable that would indicate a set of matched cases (i.e., cases from the same participants).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Copy_1 and Copy_2 are the same data sets with participants' ID, first names and last names. In Copy_2, variables have a "c" suffix.&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table dataset as
select copy_1.* , copy_2.* 
from copy_1, copy_2 
where compged(student_first , student_first_c) &amp;lt; 30 and compged(student_last , student_last_c) &amp;lt; 30 and ID ^= ID_c ; 
quit; &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Thank you for your help!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Oct 2020 00:11:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690236#M209979</guid>
      <dc:creator>Amanda_Lemon</dc:creator>
      <dc:date>2020-10-09T00:11:04Z</dc:date>
    </item>
    <item>
      <title>Re: Computing a grouping variable in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690237#M209980</link>
      <description>&lt;P&gt;I would think you would want to change the continuous variable that would be created by COMPGED into a categorical variable by using Proc Format and then do a GROUP BY that new categorical variable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Actually, I take that back.&amp;nbsp; A little.&amp;nbsp; &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&amp;nbsp; CompGED isn't continuous if I'm understanding correctly.&amp;nbsp; I see discrete values 0, 10, and 20 that would fit your criteria.&amp;nbsp; Therefore, that's something you can group by right there without modification.&amp;nbsp; If you add your two CompGED results, I believe you'd have 0, 10, 20, 30, and 40 as possible values.&amp;nbsp; With that you could try some SQL along these lines (not tested since I don't have any data):&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql	NOPRINT;
	create table dataset as
		select 	copy_1.* 
				,copy_2.* 
				,(compged(student_first , student_first_c) + (compged(student_last , student_last_c))	AS combined_score
			from copy_1, copy_2 
			where compged(student_first , student_first_c) &amp;lt; 30 and compged(student_last , student_last_c) &amp;lt; 30 and ID ^= ID_c
			group	by	CALCULATED	combined_score
			; 
quit; &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Jim&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sample CompGED values:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jimbarbour_0-1602203622784.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/50402i1B85195AE044E905/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jimbarbour_0-1602203622784.png" alt="jimbarbour_0-1602203622784.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV id="tinyMceEditorjimbarbour_0" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Oct 2020 00:35:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690237#M209980</guid>
      <dc:creator>jimbarbour</dc:creator>
      <dc:date>2020-10-09T00:35:18Z</dc:date>
    </item>
    <item>
      <title>Re: Computing a grouping variable in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690251#M209987</link>
      <description>&lt;P&gt;Seems like all you need is sorting&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table dataset as
select copy_1.* , copy_2.* 
from copy_1, copy_2 
where compged(student_first , student_first_c) &amp;lt; 30 and compged(student_last , student_last_c) &amp;lt; 30 and ID ^= ID_c 
order by ID, ID_c; 
quit; &lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 09 Oct 2020 02:57:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690251#M209987</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2020-10-09T02:57:37Z</dc:date>
    </item>
    <item>
      <title>Re: Computing a grouping variable in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690255#M209989</link>
      <description>&lt;P&gt;Thank you, both, for your replies, but I think I need something a little bit different.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So I have data like:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ID Student_first Student_last&lt;/P&gt;
&lt;P&gt;100 Mary Smith&amp;nbsp;&lt;/P&gt;
&lt;P&gt;101 Mary Smit&amp;nbsp;&lt;/P&gt;
&lt;P&gt;102 Peter Gray&lt;/P&gt;
&lt;P&gt;103 Marie Smith&amp;nbsp;&lt;/P&gt;
&lt;P&gt;104 Pete Grey&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With the matching code, I am able to identify that cases 100, 101, and 103 belong to one person, and cases 102 and 104 belong to another person.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The matching table looks something like:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ID Student_first Student_last&amp;nbsp;ID_c Student_first_c Student_last_c&lt;/P&gt;
&lt;P&gt;100 Mary Smith 101 Mary Smit&lt;/P&gt;
&lt;P&gt;100 Mary Smith 103 Marie Smith&amp;nbsp;&lt;/P&gt;
&lt;P&gt;101 Mary Smit 103 Marie Smith&amp;nbsp;&lt;/P&gt;
&lt;P&gt;102 Peter Gray 104 Pete Grey&amp;nbsp;&lt;/P&gt;
&lt;P&gt;104 Pete Grey 102 Peter Gray&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to be able to include unique person IDs, something like:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ID Student_first Student_last&amp;nbsp;ID_c Student_first_c Student_last_c Person_ID&lt;/P&gt;
&lt;P&gt;100 Mary Smith 101 Mary Smit 1&lt;/P&gt;
&lt;P&gt;100 Mary Smith 103 Marie Smith 1&amp;nbsp;&lt;/P&gt;
&lt;P&gt;101 Mary Smit 103 Marie Smith 1&lt;/P&gt;
&lt;P&gt;102 Peter Gray 104 Pete Grey 2&lt;/P&gt;
&lt;P&gt;104 Pete Grey 102 Peter Gray 2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The end goal is to find cases from the same people in the original dataset and assign person-specific IDs. Like:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ID Student_first Student_last Person_ID&lt;/P&gt;
&lt;P&gt;100 Mary Smith 1&lt;/P&gt;
&lt;P&gt;101 Mary Smit 1&lt;/P&gt;
&lt;P&gt;102 Peter Gray 2&lt;/P&gt;
&lt;P&gt;103 Marie Smith 1&lt;/P&gt;
&lt;P&gt;104 Pete Grey 2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When names are exactly the same from the same person across entries, I just used the following code:&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data = dataset;
by student_first student_last; 
run; 
data dataset;
set dataset;
by student_first student_last;
if first.student_last then Person_ID + 1;  
run; &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;But with this dataset, the complexity is that the names of the same people were not entered in exactly the same way.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks again for your help!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Oct 2020 03:23:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690255#M209989</guid>
      <dc:creator>Amanda_Lemon</dc:creator>
      <dc:date>2020-10-09T03:23:06Z</dc:date>
    </item>
    <item>
      <title>Re: Computing a grouping variable in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690264#M209991</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/151986"&gt;@Amanda_Lemon&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Oh, OK, I think I get what you want.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Results that look something like this, yes?&amp;nbsp; Code is below.&amp;nbsp; See comments in code.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jimbarbour_0-1602217401324.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/50410i973730DF2F633F7B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jimbarbour_0-1602217401324.png" alt="jimbarbour_0-1602217401324.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I think 30 is a little on the tight side.&amp;nbsp; You're not going to get much in the way of matching with a score of 30.&amp;nbsp; I see good, relatively conservative matching working well at 105.&amp;nbsp; You get more matches at 115 although it's questionable whether or not Marie Smith is really the same person as Mary Smith.&amp;nbsp; I set things at 115 for the screen shot above, but play with it using your real data and use your best judgment.&amp;nbsp; The macro variable&amp;nbsp;&lt;STRONG&gt;Minimum_GED&lt;/STRONG&gt; controls the minimum acceptable GED score.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jim&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%LET	Minimum_GED	=	115;

**------------------------------------------------------------------------------**;

**	Read in copy 1 of the data.	**;
DATA	COPY_1;
	LENGTH	ID				$3
			Student_First	$25
			Student_Last	$25
			;

	INPUT	ID				$
			Student_First	$
			Student_Last	$
			;

DATALINES;
100 Mary Smith 
101 Mary Smit 
102 Peter Gray
103 Marie Smith 
104 Pete Grey
;
RUN;

**------------------------------------------------------------------------------**;

**	Read in copy 2 of the data.	**;
DATA	COPY_2;
	LENGTH	ID_c			$3
			Student_First_c	$25
			Student_Last_c	$25
			;

	INPUT	ID_c			$
			Student_First_c	$
			Student_Last_c	$
			;

DATALINES;
100 Mary Smith 
101 Mary Smit 
102 Peter Gray
103 Marie Smith 
104 Pete Grey
;
RUN;

**------------------------------------------------------------------------------**;

**	Identify all GED scores within a minimum distance of each other.	**;
proc sql	NOPRINT;
	create table dataset as
		select 	copy_1.* 
				,copy_2.* 
				,(compged(student_first , student_first_c)) AS	First_Score
				,(compged(student_last , student_last_c))	AS	Last_Score
			from 	copy_1, copy_2 
			where 	(ID ^= ID_c)
				and (compged(student_last , student_last_c) 	&amp;lt;	&amp;amp;Minimum_GED)
				and (compged(student_first , student_first_c)	&amp;lt;	&amp;amp;Minimum_GED)
			; 
quit; 

**------------------------------------------------------------------------------**;

**	Remove duplicates and group associated names together.	**;
proc sql	NOPRINT;
	Create	Table	DeDup_Dataset	AS
		select 	Student_Last
				,Student_First
				,ID
			from 	Dataset
		UNION
		select 	Student_Last_c		AS	Student_Last
				,Student_First_c	AS	Student_First
				,ID_c				AS	ID
			from 	Dataset
			ORDER BY	Student_Last
						,Student_First
						,ID
						;
quit; 

**------------------------------------------------------------------------------**;

**	Assign person ID numbers.	**;
DATA	Dataset_With_Person_ID;
	DROP	_:;

	SET	DeDup_Dataset;

	LENGTH	_Prev_Last	$25;
	LENGTH	_Prev_First	$25;

	_Prev_Last		=	LAG(Student_Last);
	_Prev_First		=	LAG(Student_First);

	IF	COMPGED(_Prev_Last, Student_Last)	&amp;gt;	&amp;amp;Minimum_GED	OR
		COMPGED(_Prev_First, Student_First)	&amp;gt;	&amp;amp;Minimum_GED	THEN
		Person_ID	+	1;
RUN;

**------------------------------------------------------------------------------**;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 09 Oct 2020 04:38:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690264#M209991</guid>
      <dc:creator>jimbarbour</dc:creator>
      <dc:date>2020-10-09T04:38:04Z</dc:date>
    </item>
    <item>
      <title>Re: Computing a grouping variable in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690434#M210044</link>
      <description>&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;Try &lt;A href="https://www.cdc.gov/cancer/npcr/tools/registryplus/lp.htm" target="_blank"&gt;https://www.cdc.gov/cancer/npcr/tools/registryplus/lp.htm&lt;/A&gt; for free software that will give a probability of match. You can ignore the cancer related documentation but this matches on names, addresses, dates and other fields that might contain matching data and will give a probability of match for not-exact matched cases.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I know it isn't SAS but the price is right, none, and has features that will take a lot of SAS programming duplicate.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You will need to provide text files for input but you should be able to make them easily from SAS.&lt;/P&gt;
&lt;P&gt;You don't even have to have the same variable names/ column headers as the application lets you pick what to compare between files.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I used this to do a data quality report when a data provider "moved" data to a new data system without retaining unique identifiers so I could use the data for reporting across the conversion. And to identify the records where people's names, birth dates, gender, race and ethnicity changed in the process.&lt;/P&gt;</description>
      <pubDate>Fri, 09 Oct 2020 14:43:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690434#M210044</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-10-09T14:43:48Z</dc:date>
    </item>
    <item>
      <title>Re: Computing a grouping variable in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690616#M210092</link>
      <description>&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/37107"&gt;@jimbarbour&lt;/a&gt;, THANK YOU SO MUCH!! This is perfect! Exactly what I needed.</description>
      <pubDate>Sat, 10 Oct 2020 00:52:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690616#M210092</guid>
      <dc:creator>Amanda_Lemon</dc:creator>
      <dc:date>2020-10-10T00:52:54Z</dc:date>
    </item>
    <item>
      <title>Re: Computing a grouping variable in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690618#M210093</link>
      <description>&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;, thank you for the information! I had never heard of this tool before -- certainly worth exploring.</description>
      <pubDate>Sat, 10 Oct 2020 00:54:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690618#M210093</guid>
      <dc:creator>Amanda_Lemon</dc:creator>
      <dc:date>2020-10-10T00:54:58Z</dc:date>
    </item>
    <item>
      <title>Re: Computing a grouping variable in PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690627#M210096</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/151986"&gt;@Amanda_Lemon&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Oh, good.&amp;nbsp; I was hoping that it was.&amp;nbsp; You probably could tune it significantly more in terms of both performance and match quality, but I don't know how big your data sets are or how strict your matching needs to be.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I thought this SAS paper on using CompGED in conjunction with Spedis was interesting:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://support.sas.com/resources/papers/proceedings14/1674-2014.pdf" target="_blank"&gt;https://support.sas.com/resources/papers/proceedings14/1674-2014.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;'s suggestion sounds like it has a great deal of merit as well.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Good luck!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jim&lt;/P&gt;</description>
      <pubDate>Sat, 10 Oct 2020 02:19:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Computing-a-grouping-variable-in-PROC-SQL/m-p/690627#M210096</guid>
      <dc:creator>jimbarbour</dc:creator>
      <dc:date>2020-10-10T02:19:10Z</dc:date>
    </item>
  </channel>
</rss>

