SAS 9.4 proc使用getnames = no导入列名

时间:2016-02-05 14:58:01

标签: sas naming-conventions import-from-excel

我在更新代码以使用SAS 9.4,Proc Import时遇到了一些麻烦。我有一堆杂乱的数据,我指定“getnames = no”。在9.3中,默认列名是F1,F2,F3等。然后,我有一堆代码来清理数据,重命名变量等。

在9.4中,默认列名是A,B,C等,所以我的旧代码都不起作用。是否有设置或选项我可以更改为使用F1,F2,F3命名约定而不是A,B,C?

感谢。

1 个答案:

答案 0 :(得分:0)

为什么不使用PROC DATASETS重命名所有变量?您可以使用PROC CONTENTS和PROC SQL来创建RENAME语句。

PROC CONTENTS DATA=imported OUT=impcont NOPRINT ;
RUN ;

PROC SQL ;

  SELECT COMPRESS(name || '=f' || PUT(varnum,3.))
    INTO :renamestmt SEPARATED BY ' '
    FROM impcont
  ;

QUIT ;

PROC DATASETS LIBRARY=work NOLIST ;
  MODIFY imported ;
    RENAME &renamestmt ;
  RUN ;
QUIT ;