具有SAS条件的1对多映射

时间:2018-03-08 05:43:58

标签: sas sas-macro

我有1个数据集,想要匹配自己,只是为了得到模糊匹配。

Age2    Gender4 Consonants2 Name_of_Patient_nospace2    SoundEx
5   F   h   Ahoi    A0
31  M   h   Ahoi    A0
35  F   y   AYEE    A0
33  F   y   AAYEE   A0
39  F   y   AYEE    A0
32  F   y   Ayai    A0
35  M   r   Aro A090
35  M   r   ARAAO   A090
33  M   r   ARao    A090
30  M   r   Arei    A090
35  M   r   Aro A090
35  M   r   ARAAO   A090
33  M   r   ARao    A090
30  M   r   Arei    A090
65  M   r   AARI    A090

在SAS下面的代码中得到n到n的映射(ABC和DEF表是相同的):

Proc Sql noprint;
Create table as Match
Select * from ABC as x inner join DEF as y
on (x.SoundEx = y.SoundEx_Copy) and (x.Consonants = y.Consonants_Copy)
where (x.Gender = y.Gender_Copy) and (x.Age2 - y.Age2_Copy) between -5 and 
5;
quit;

可以在DATA步骤中执行相同的代码以获得1到n的映射吗? 例如:如果我们有2个表都有1,2,3个记录,那么out应该如下(按照1到n的映射)

1-1
1-2
1-3
2-2
2-3
3-3

0 个答案:

没有答案