如何加入两个数据集并更新一个列值仅不影响sas中的其他列?

问题描述

这是一个示例数据集,仅需要更新一个列。相同的列名称,但不同的值仅在第一个ds中添加如age。数据步骤或proc sql;常用值dob名称请帮助我,谢谢 第一个数据集

data sql;
 input name $4. age 2. dob 8. address $5.;
datalines;
john  94 kkdi
john  88 pdk
john  93 cbe
;
run;

第二个数据集

data sql;
 input name $7. age 2. dob 8. address $5.;
datalines;
john 1 94 mmm
john 0 88 xxx
laya 1 93 yyy
;
run;
output:
john 1 94 kkdi
john 0 88 pdk
laya 1 93 cbe

解决方法

我不确定是否收到您的问题。但是,将这两个数据集和所需的输出进行比较,似乎“ dob”变量是您的id,并且您希望将地址从第一个表获取到第二个表中。

因此,您需要的是:

proc sql;
create table new_data as
select
t2.name,t2.age,t2.dob,t1.address 
from dataset_2 as t2
left join dataset_1 as t1 on t2.dob=t1.dob;
quit;

最好