我希望通过ptid和tx_code命令加入这两个表。 什么是连接的理想方式,以便dat2中的每个观察都返回来自dat1的重复信息?
data baseline;
input ptid age gender $ stat stat_date creat tx_code datnum$;
cards;
123 40 M A 02/15/2004 1.2 3 1
456 29 F A 06/05/2009 1.5 2 1
789 53 M D 01/10/2007 2.0 1 1
;
run;
data followup;
input ptid tx_code stat stat_date wgt hgt organ datnum $;
cards;
123 3 A 02/15/2004 60 150 ki 2
123 3 A 10/05/2004 75 150 ki 2
456 2 A 06/05/2009 95 173 SKP 2
456 2 A 12/30/2009 95 173 SKP 2
456 2 A 05/05/2010 93 173 SKP 2
456 2 A 10/20/2010 85 173 SKP 2
456 2 D 11/10/2010 . 173 SKP 2
789 1 A 01/10/2007 65 180 pta 2
789 1 A 06/25/2007 60 180 pta 2
789 1 L 06/25/2008 . . pta 2
;
run;
答案 0 :(得分:1)
使用proc sql加入。如果您只想要不同的观察,请使用"选择不同的"而不是"选择"
proc sql;
create table resultant_table as select
a.*, b.wgt, b.hgt, b.organ, b.stat as stat2, b.stat_date as stat_date2
from baseline as a
left join followup as b
on a.ptid = b.ptid and a.tx_code = input(b.tx_code, 8.);
quit;