a****y 发帖数: 1035 | 1 我用
data sample;
set A B;
run;
将A,B两个file 连接起来,请问如何能得到一个列表,里面包含所有variables的name
, label, 最重要的是每个variable原先属于哪个文件(A 或者 B)?
proc contents 可以做到吗?如果可以,有什么option可以看到variable属于哪个文件?
谢谢 !! |
a***d 发帖数: 336 | 2 you can query sashelp.Vcolumn
it contains library name, member name, column Name, column label and so on.
name
件?
【在 a****y 的大作中提到】 : 我用 : data sample; : set A B; : run; : 将A,B两个file 连接起来,请问如何能得到一个列表,里面包含所有variables的name : , label, 最重要的是每个variable原先属于哪个文件(A 或者 B)? : proc contents 可以做到吗?如果可以,有什么option可以看到variable属于哪个文件? : 谢谢 !!
|
y********0 发帖数: 638 | 3 象aloud说的,sashelp.vcolumns里,dictionary.columns都有这些变量信息.
用proc datasets 或者 contents都能输出.
可以把两个文件的名字列表各自输出,然后再merge一下.
这是我能想到的方法,不知道有没有更简单的.
譬如:
proc datasets lib=work nolist;
contents data=one out=vone (keep=name label);
contents data=two out=vtwo (keep=name label);
quit;
data vcombine;
merge vone(in=in_one) vtwo(in=in_two);
by name;
if in_one and in_two then from="AB";
else if in_one and in_two=0 then from="A";
else from="B";
run;
name
件?
【在 a****y 的大作中提到】 : 我用 : data sample; : set A B; : run; : 将A,B两个file 连接起来,请问如何能得到一个列表,里面包含所有variables的name : , label, 最重要的是每个variable原先属于哪个文件(A 或者 B)? : proc contents 可以做到吗?如果可以,有什么option可以看到variable属于哪个文件? : 谢谢 !!
|
a****y 发帖数: 1035 | |
d******9 发帖数: 404 | 5 If you like, you can also use Proc Transpose to do it. It will let you get
the source of variables.
data A;
input ID Name $;
cards;
001 Peter
112 Jason
189 Alice
;
run;
data B;
input ID $ Age Sex $ ;
cards;
227 35 F
189 29 F
336 51 M
;
run;
proc transpose data=A(obs=1) out=AA(keep=var) Name= Var;
var _all_;
run;
proc transpose data=B(obs=1) out=BB(keep=var) Name= Var;
var _all_;
run;
proc sort data=AA;
by Var;
run;
proc sort data=BB;
by Var;
run;
data C;
merge AA(in=A) BB(in=B);
by Var;
if A=1 and B=1 then Source='A+B';
else if A=1 then source='A';
else if B=1 then source='B';
else source='N/A';
run;
Obs Var Source
1 Age B
2 ID A+B
3 Name A
4 Sex B |