在SAS中使用变量名称在其他表上添加表格

时间:2018-05-04 11:20:01

标签: sas

我有2个sas输出表。第一个表有a,b,c列,第二个表有d,e,f列 第一张表是:

a   b   c
1   2   3
4   5   6

第二张表是:

d   e   f
7   8   9

是否可以将它们附加到具有所需输出的一张纸上

a   b   c
1   2   3
4   5   6
d   e   f
7   8   9

1 个答案:

答案 0 :(得分:0)

是的,你可以使用proc append将第二个表附加到第一个表,你只需要在附加之前重命名第二个表中的列。

proc append base=table1 data=table2(rename=(d=a e=b f=c)) ;run;

完整代码:

data table1;
input a b c;
datalines;
1 2 3
4 5 6
;
run;
data table2;
input d e f;
datalines;
7 8 9
;
run;

proc append base=table1 data=table2(rename=(d=a e=b f=c)) ;run;

在追加后,表1将如下所示:

a=1 b=2 c=3 
a=4 b=5 c=6 
a=7 b=8 c=9 

另一个选项:如果你的所有数据都是字符,你只需创建一个第三个表来保存你想要追加的列名。

完整代码:

data table1;
input a $ b $ c $;
datalines;
1 2 3
4 5 6
;
run;
data table2;
input d $ e $ f $;
datalines;
7 8 9
;
run;
data table2_names;
input d $ e $ f $;
datalines;
d e f
;
run;

proc append base=table1 data=table2_names(rename=(d=a e=b f=c)) ;run;
proc append base=table1 data=table2(rename=(d=a e=b f=c)) ;run;

输出:

a=1 b=2 c=3
a=4 b=5 c=6
a=d b=e c=f 
a=7 b=8 c=9