如何在SAS中组合2个表,如以下数据集

  • 本文关键字:数据集 2个表 组合 SAS sas
  • 更新时间 :
  • 英文 :


我有两个数据集:

:

Name    Bill
A       1
B       2
C       3
D       .
E       .
F       6
第二:

Name    Bill
D       4
E       5

我想把它们合并成一个表,像这样:

Name    Bill
A       1
B       2
C       3
D       4
E       5
F       6

我尝试了合并语句,但它不起作用

实现此目的的一种方法是使用proc sql。

让我们先设置您的样本数据:

DATA t1;
  INPUT Name $ Bill;
  DATALINES;
A 1
B 2
C 3
D .
E .
F 6
run;
DATA t2;
  INPUT Name $ Bill;
  DATALINES;
D 4
E 5
run;

如果您只是想用第二个表中的相应值替换第一个表中的缺失值,您可以使用左连接和合并函数。

procedure sql;
    create table newT as
    select 
        t1.Name
        ,coalesce(t1.Bill, t2.Bill) as Bill  
    from t1
    left join t2 on t1.Name = t2.Name
    ;
quit;

MERGE语句将生成您想要的答案。为什么你认为它没有成功?

data want ;
  merge first second ;
  by name ;
run;

最新更新