【发布时间】:2013-03-17 17:13:22
【问题描述】:
我有一个 SAS 数据集,其中包含 20 个字符变量,所有这些都是名称(例如 Adam、Bob、Cathy 等)
我想要一个动态代码来创建名为 Adam_ref、Bob_ref 等的变量。即使存在具有不同名称的不同数据集(即不想手动定义每个变量),它也可以工作。
到目前为止,我的方法是使用 proc 内容获取所有变量名称,然后使用宏创建宏变量 Adam_ref、Bob_ref 等。
如何从这里在数据集中创建实际变量?我需要不同的方法吗?
proc contents data=work.names
out=contents noprint;
run;
proc sort data = contents; by varnum; run;
data contents1;
set contents;
Name_Ref = compress(Name||"_Ref");
call symput (NAME, NAME_Ref);
%put _user_;
run;
【问题讨论】: