从SAS中的数据集中提取满足特定条件的特定列

时间:2014-09-15 12:28:11

标签: regex sas

这里是SAS的新手。

我有一个包含大量变量的数据集。我想提取所有变量,例如在其名称中包含字符串“GRP”,并从这些变量中创建一个新的数据集。

编辑:我不知道任何变量名称,因为数据集很大。

1 个答案:

答案 0 :(得分:2)

您可以先将您感兴趣的变量存储到宏变量中,然后在保留列表中使用它们。使用数据集名称work.have作为示例来创建work.want:

/* note the use of use UPPERCASE */
proc sql noprint;
  select name into :varlist separated by ' '
  from dictionary.columns
  where libname='WORK'
    and memname='HAVE'
    and upper(name) contains 'GRP'
  ;
quit;

/* keep only required variables */
data want;
  set have(keep=&varlist);
run;