表一:
variable var1 var2 var3
var1 1 0.2 0.5
var2 . 1 0.7
var3 . . 1作者: shiyiming 时间: 2011-11-28 22:08 标题: Re: 两个表合并的问题 is this meets your expectations?
data t1;
length var $4.;
input var $ var1 var2 var3 ;
datalines;
var1 1 . .
var2 0.2 1 .
var3 0.5 0.7 1
;
run;
data t2;
length var $4.;
input var $ var1 var2 var3 ;
datalines;
var1 1 0.2 0.5
var2 . 1 0.7
var3 . . 1
;
run;
*method 1;
data t;
merge t1 t2(rename=(var1=tvar1 var2=tvar2 var3=tvar3));
by var;
if missing(var1) then var1=tvar1;
if missing(var2) then var2=tvar2;
if missing(var3) then var3=tvar3;
drop tvar:;
run;
*method 2;
proc sql;
create table tt as
select a.var,coalesce(a.var1,b.var1) as var1,coalesce(a.var2,b.var2) as var2,coalesce(a.var3,b.var3) as var3
from t1 a join t2 b
on a.var eq b.var;
quit;作者: shiyiming 时间: 2011-11-29 01:06 标题: Re: 两个表合并的问题 谢谢sun,再问一下啊,我有很多个variable,十几个,那么有没有更简便一点的方法呢?作者: shiyiming 时间: 2011-11-29 08:09 标题: Re: 两个表合并的问题 或许可以用update
[code:2htgyrlh]data t3;
update t1 t2;
by var;
run;[/code:2htgyrlh]作者: shiyiming 时间: 2011-11-29 21:57 标题: Re: 两个表合并的问题 <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: --> <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: --> <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
这个可用,也简单,赞!撒花~~~~~~
[quote="hopewell":zvubh2zl]或许可以用update
[code:zvubh2zl]data t3;
update t1 t2;
by var;
run;[/code:zvubh2zl][/quote:zvubh2zl]