如何连接两个数据集并更新一列值而不影响sas中的其他列?
how to join two datasets and update one column values only not affects other columns in sas?
这是一个示例数据集,需要仅更新一列。相同的列名称但不同的值仅像第一个 ds 中的年龄一样添加。数据步骤或过程 sql;共同价值观 dob 和 name 请帮助我谢谢
第一个数据集
data sql;
input name . age 2. dob 8. address .;
datalines;
john 94 kkdi
john 88 pdk
john 93 cbe
;
run;
第二个数据集
data sql;
input name . age 2. dob 8. address .;
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,你想从第一个table获取地址到第二个
所以,你需要的是:
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;
最佳,
这是一个示例数据集,需要仅更新一列。相同的列名称但不同的值仅像第一个 ds 中的年龄一样添加。数据步骤或过程 sql;共同价值观 dob 和 name 请帮助我谢谢 第一个数据集
data sql;
input name . age 2. dob 8. address .;
datalines;
john 94 kkdi
john 88 pdk
john 93 cbe
;
run;
第二个数据集
data sql;
input name . age 2. dob 8. address .;
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,你想从第一个table获取地址到第二个
所以,你需要的是:
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;
最佳,