<?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: match rate between two data sets in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/match-rate-between-two-data-sets/m-p/743678#M232883</link>
    <description>&lt;P&gt;Oh, wait.&amp;nbsp; You want the distinct count on both the matches and the source data.&amp;nbsp; In that case, change it to the below which will give you:&lt;/P&gt;
&lt;PRE&gt;       +-------------------------+
NOTE:  | Match Rate 1 is 3 of 12
       | Match Rate 2 is 3 of 8
       +-------------------------+&lt;/PRE&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;PROC	SQL;
/*	CREATE	TABLE	Match_1	AS*/
		SELECT	COUNT(DISTINCT ID)	AS	Match_1_Cnt
			INTO	:	Match_1_Cnt
			FROM	Dataset_1
			WHERE	ID	IN	(
				SELECT	DISTINCT	ID	FROM	Dataset_2);
QUIT;

PROC	SQL;
/*	CREATE	TABLE	Match_2	AS*/
		SELECT	COUNT(DISTINCT ID)	AS	Match_2_Cnt
			INTO	:	Match_2_Cnt
			FROM	Dataset_2
			WHERE	ID	IN	(
				SELECT	DISTINCT	ID	FROM	Dataset_1);
QUIT;

PROC	SQL;
	SELECT	COUNT(DISTINCT ID)	AS	D1_Obs
		INTO	:	D1_Obs
		FROM	Dataset_1
		;
QUIT;

PROC	SQL;
	SELECT	COUNT(DISTINCT ID)	AS	D2_Obs
		INTO	:	D2_Obs
		FROM	Dataset_2
		;
QUIT;

%LET	Save_PS	=	%QSYSFUNC(GETOPTION(PS));
OPTIONS	NOSOURCE	PS=MAX;
%PUT	NOTE-  ;
%PUT	NOTE-  +-------------------------+;
%PUT	NOTE:  | Match Rate 1 is %QCMPRES(&amp;amp;Match_1_Cnt) of %QCMPRES(&amp;amp;D1_Obs);
%PUT	NOTE-  | Match Rate 2 is %QCMPRES(&amp;amp;Match_2_Cnt) of %QCMPRES(&amp;amp;D2_Obs);
%PUT	NOTE-  +-------------------------+;
OPTIONS	SOURCE	PS=&amp;amp;Save_PS;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 25 May 2021 19:23:32 GMT</pubDate>
    <dc:creator>jimbarbour</dc:creator>
    <dc:date>2021-05-25T19:23:32Z</dc:date>
    <item>
      <title>match rate between two data sets</title>
      <link>https://communities.sas.com/t5/SAS-Programming/match-rate-between-two-data-sets/m-p/743565#M232831</link>
      <description>&lt;P&gt;Dataset 1&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 162pt;" border="0" width="216" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD width="72" height="15" style="height: 11.25pt; width: 54pt;"&gt;ID&lt;/TD&gt;
&lt;TD width="72" style="width: 54pt;"&gt;CC1&lt;/TD&gt;
&lt;TD width="72" style="width: 54pt;"&gt;CC2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;111&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;111&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;111&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;112&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;112&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;113&lt;/TD&gt;
&lt;TD align="right"&gt;0&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;114&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;115&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;116&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;117&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;118&lt;/TD&gt;
&lt;TD align="right"&gt;3&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;119&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;120&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;121&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;122&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Data set 2&lt;/P&gt;
&lt;TABLE width="161"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="72"&gt;ID&lt;/TD&gt;
&lt;TD width="89"&gt;CC3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;111&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;111&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;111&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;112&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;112&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;144&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;145&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;146&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;140&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;141&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;117&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would like to calculate what I call the 'match' rate between the distinct ID's of the two datasets.&lt;/P&gt;
&lt;P&gt;In this case the match rate for 2 (how many disitnct id's from 2 are in 1) is = 3/8&lt;/P&gt;
&lt;P&gt;And the match rate for 1 (how many distinct id's from 1 are in 2) is = 3/12&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I thought of doing something like a inner join, but I can't completely work it out.&lt;/P&gt;</description>
      <pubDate>Tue, 25 May 2021 14:20:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/match-rate-between-two-data-sets/m-p/743565#M232831</guid>
      <dc:creator>sasprogramming</dc:creator>
      <dc:date>2021-05-25T14:20:18Z</dc:date>
    </item>
    <item>
      <title>Re: match rate between two data sets</title>
      <link>https://communities.sas.com/t5/SAS-Programming/match-rate-between-two-data-sets/m-p/743573#M232835</link>
      <description>&lt;P&gt;This can get you started and then you can write IF/THEN statements or use summary procedures to get the final outputs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table linked as
select distinct coalesce(t1.id, t2.id) as ID, 
not(missing(t1.ID))*1 as t1_source,
not(missing(t2.ID))*1 as t2_source, 
sum(calculated t1_source, calculated t2_source) as summary
from t1 full join t2
on t1.id=t2.id;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/302184"&gt;@sasprogramming&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Dataset 1&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 162pt;" border="0" width="216" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD width="72" height="15" style="height: 11.25pt; width: 54pt;"&gt;ID&lt;/TD&gt;
&lt;TD width="72" style="width: 54pt;"&gt;CC1&lt;/TD&gt;
&lt;TD width="72" style="width: 54pt;"&gt;CC2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;111&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;111&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;111&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;112&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;112&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;113&lt;/TD&gt;
&lt;TD align="right"&gt;0&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;114&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;115&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;116&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;117&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;118&lt;/TD&gt;
&lt;TD align="right"&gt;3&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;119&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;TD align="right"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;120&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;121&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;TD align="right"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 11.25pt;"&gt;
&lt;TD height="15" align="right" style="height: 11.25pt;"&gt;122&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Data set 2&lt;/P&gt;
&lt;TABLE width="161"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="72"&gt;ID&lt;/TD&gt;
&lt;TD width="89"&gt;CC3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;111&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;111&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;111&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;112&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;112&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;144&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;145&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;146&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;140&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;141&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;117&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would like to calculate what I call the 'match' rate between the distinct ID's of the two datasets.&lt;/P&gt;
&lt;P&gt;In this case the match rate for 2 (how many disitnct id's from 2 are in 1) is = 3/8&lt;/P&gt;
&lt;P&gt;And the match rate for 1 (how many distinct id's from 1 are in 2) is = 3/12&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I thought of doing something like a inner join, but I can't completely work it out.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 25 May 2021 14:55:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/match-rate-between-two-data-sets/m-p/743573#M232835</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2021-05-25T14:55:51Z</dc:date>
    </item>
    <item>
      <title>Re: match rate between two data sets</title>
      <link>https://communities.sas.com/t5/SAS-Programming/match-rate-between-two-data-sets/m-p/743590#M232841</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/302184"&gt;@sasprogramming&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That's a nice, compact approach that &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt;&amp;nbsp;has given you.&amp;nbsp; Kudos to&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt;!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Another approach is to use a sub-select.&amp;nbsp; Here's how I worked it out (see code below).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With the below code, the following is written to my log:&lt;/P&gt;
&lt;PRE&gt;       +-------------------------+
NOTE:  | Match Rate 1 is 6 of 15
       | Match Rate 2 is 6 of 11
       +-------------------------+
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA	Dataset_1;
	INFILE	DATALINES4	DSD	DLM='09'X;
	INPUT
		ID	$
		CC1	$
		CC2	$
		;

DATALINES4;
111	4	4
111	2	3
111	2	4
112	4	2
112	2	0
113	0	2
114	4	4
115	1	1
116	1	1
117	2	2
118	3	2
119	1	4
120	2	1
121	5	5
122	2	1
;;;;
RUN;

DATA	Dataset_2;
	INFILE	DATALINES4	DSD	DLM='09'X;
	INPUT
		ID	$
		CC3	$
		;

DATALINES4;
111	0
111	2
111	4
112	1
112	2
144	5
145	5
146	5
140	1
141	1
117	2
;;;;
RUN;

PROC	SQL;
/*	CREATE	TABLE	Match_1	AS*/
		SELECT	COUNT(*)	AS	Match_1_Cnt
			INTO	:	Match_1_Cnt
			FROM	Dataset_1
			WHERE	ID	IN	(
				SELECT	DISTINCT	ID	FROM	Dataset_2);
QUIT;

PROC	SQL;
/*	CREATE	TABLE	Match_2	AS*/
		SELECT	COUNT(*)	AS	Match_2_Cnt
			INTO	:	Match_2_Cnt
			FROM	Dataset_2
			WHERE	ID	IN	(
				SELECT	DISTINCT	ID	FROM	Dataset_1);
QUIT;

DATA	_NULL_;
	IF	0				THEN
		DO;
			SET	Dataset_1	NOBS=D1_Obs;
			SET	Dataset_2	NOBS=D2_Obs;
		END;

	CALL	SYMPUTX('D1_Obs', STRIP(PUT(D1_Obs, 8.)), 'G');
	CALL	SYMPUTX('D2_Obs', STRIP(PUT(D2_Obs, 8.)), 'G');
RUN;

%LET	Save_PS	=	%QSYSFUNC(GETOPTION(PS));
OPTIONS	NOSOURCE	PS=MAX;
%PUT	NOTE-  ;
%PUT	NOTE-  +-------------------------+;
%PUT	NOTE:  | Match Rate 1 is %QCMPRES(&amp;amp;Match_1_Cnt) of &amp;amp;D1_Obs ;
%PUT	NOTE-  | Match Rate 2 is %QCMPRES(&amp;amp;Match_2_Cnt) of &amp;amp;D2_Obs ;
%PUT	NOTE-  +-------------------------+;
OPTIONS	SOURCE	PS=&amp;amp;Save_PS;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 25 May 2021 15:52:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/match-rate-between-two-data-sets/m-p/743590#M232841</guid>
      <dc:creator>jimbarbour</dc:creator>
      <dc:date>2021-05-25T15:52:11Z</dc:date>
    </item>
    <item>
      <title>Re: match rate between two data sets</title>
      <link>https://communities.sas.com/t5/SAS-Programming/match-rate-between-two-data-sets/m-p/743591#M232842</link>
      <description>&lt;P&gt;This is great however I was more after the 'distinct' match rate, that is where I got the 3/8 and 3/12 from.&lt;/P&gt;</description>
      <pubDate>Tue, 25 May 2021 15:55:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/match-rate-between-two-data-sets/m-p/743591#M232842</guid>
      <dc:creator>sasprogramming</dc:creator>
      <dc:date>2021-05-25T15:55:28Z</dc:date>
    </item>
    <item>
      <title>Re: match rate between two data sets</title>
      <link>https://communities.sas.com/t5/SAS-Programming/match-rate-between-two-data-sets/m-p/743604#M232848</link>
      <description>&lt;P&gt;OK, sure.&amp;nbsp; Just change the COUNT in the SQL to include a DISTINCT.&amp;nbsp; See below.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The results are:&lt;/P&gt;
&lt;PRE&gt;       +-------------------------+
NOTE:  | Match Rate 1 is 3 of 15
       | Match Rate 2 is 3 of 11
       +-------------------------+
&lt;/PRE&gt;
&lt;P&gt;Is that more what you're looking for?&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;PROC	SQL;
/*	CREATE	TABLE	Match_1	AS*/
		SELECT	COUNT(DISTINCT ID)	AS	Match_1_Cnt
			INTO	:	Match_1_Cnt
			FROM	Dataset_1
			WHERE	ID	IN	(
				SELECT	DISTINCT	ID	FROM	Dataset_2);
QUIT;

PROC	SQL;
/*	CREATE	TABLE	Match_2	AS*/
		SELECT	COUNT(DISTINCT ID)	AS	Match_2_Cnt
			INTO	:	Match_2_Cnt
			FROM	Dataset_2
			WHERE	ID	IN	(
				SELECT	DISTINCT	ID	FROM	Dataset_1);
QUIT;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 25 May 2021 16:24:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/match-rate-between-two-data-sets/m-p/743604#M232848</guid>
      <dc:creator>jimbarbour</dc:creator>
      <dc:date>2021-05-25T16:24:31Z</dc:date>
    </item>
    <item>
      <title>Re: match rate between two data sets</title>
      <link>https://communities.sas.com/t5/SAS-Programming/match-rate-between-two-data-sets/m-p/743678#M232883</link>
      <description>&lt;P&gt;Oh, wait.&amp;nbsp; You want the distinct count on both the matches and the source data.&amp;nbsp; In that case, change it to the below which will give you:&lt;/P&gt;
&lt;PRE&gt;       +-------------------------+
NOTE:  | Match Rate 1 is 3 of 12
       | Match Rate 2 is 3 of 8
       +-------------------------+&lt;/PRE&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;PROC	SQL;
/*	CREATE	TABLE	Match_1	AS*/
		SELECT	COUNT(DISTINCT ID)	AS	Match_1_Cnt
			INTO	:	Match_1_Cnt
			FROM	Dataset_1
			WHERE	ID	IN	(
				SELECT	DISTINCT	ID	FROM	Dataset_2);
QUIT;

PROC	SQL;
/*	CREATE	TABLE	Match_2	AS*/
		SELECT	COUNT(DISTINCT ID)	AS	Match_2_Cnt
			INTO	:	Match_2_Cnt
			FROM	Dataset_2
			WHERE	ID	IN	(
				SELECT	DISTINCT	ID	FROM	Dataset_1);
QUIT;

PROC	SQL;
	SELECT	COUNT(DISTINCT ID)	AS	D1_Obs
		INTO	:	D1_Obs
		FROM	Dataset_1
		;
QUIT;

PROC	SQL;
	SELECT	COUNT(DISTINCT ID)	AS	D2_Obs
		INTO	:	D2_Obs
		FROM	Dataset_2
		;
QUIT;

%LET	Save_PS	=	%QSYSFUNC(GETOPTION(PS));
OPTIONS	NOSOURCE	PS=MAX;
%PUT	NOTE-  ;
%PUT	NOTE-  +-------------------------+;
%PUT	NOTE:  | Match Rate 1 is %QCMPRES(&amp;amp;Match_1_Cnt) of %QCMPRES(&amp;amp;D1_Obs);
%PUT	NOTE-  | Match Rate 2 is %QCMPRES(&amp;amp;Match_2_Cnt) of %QCMPRES(&amp;amp;D2_Obs);
%PUT	NOTE-  +-------------------------+;
OPTIONS	SOURCE	PS=&amp;amp;Save_PS;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 25 May 2021 19:23:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/match-rate-between-two-data-sets/m-p/743678#M232883</guid>
      <dc:creator>jimbarbour</dc:creator>
      <dc:date>2021-05-25T19:23:32Z</dc:date>
    </item>
  </channel>
</rss>

