使用宏变量在 SAS 中创建列

Create a column in SAS using a macro variable

我正在尝试使用 SAS 中宏变量的字符串值创建一个列。 我有一个名为 want7 的数据集,其中有一列名为 'ID'。我想创建一个名为 want8 的新数据集,其中包含一个名为 'ID1' 的新列,方法是将其动态链接到 &string1(因为列名链接到 &string1),但该列的值应等于'ID'列在want7。我该怎么做呢?提前致谢。由于我对 SAS 比较陌生,所以我只复制并粘贴了我能写的内容。

 %let string1 = ID1;
 
 data want8; set want7;
 /*Something like &string1 = ID*
 run;

以sashelp.class为例(因为它默认存在)。根据需要替换:

 %let string1 = ID1;
 
 data want8; 
    set sashelp.class;
        &string1 = age ;
 run;

这将重新读取数据集。如果您只想重命名,请查看数据集选项 rename=。请参阅 SAS 文档:https://support.sas.com/documentation/cdl/en/lrcon/62955/HTML/default/viewer.htm#a000695119.htm