小编the*_*cer的帖子

在SAS中使用数字列名称

我试图将数字变量传递到此宏.我能够通过KEEP和SET语句传递它,但当它到达RENAME语句时,我得到这些错误:

错误:变量'2013'n不存档WORK.'2013'n.

错误:文件WORK.'2013'n上的DROP,KEEP或RENAME选项无效.

%macro step2(year,cwyear);
    TITLE; FOOTNOTE;
    DATA WORK._EG_CFMT;
        LENGTH label $ 9;
        SET WORK."&year."n (KEEP="&year."n "&cwyear."n RENAME=("&year."n =start "&year."n =label)) END=__last;
        RETAIN fmtname "cw&year."n type "C";

        end=start;

              RUN;
    %mend step2;
Run Code Online (Sandbox Code Playgroud)

当我改变双年份的双引号时.单引号,像这样:

SET WORK.'&year.'n (KEEP="&year."n "&cwyear."n RENAME=("&year."n =start "&year."n =label))
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

错误:文件工作.'&YEAR.'n.DATA不存在.

当我改回所有双引号并删除n时,我收到以下错误:

错误22-322:语法错误,期望以下之一:名称,带引号的字符串,;,CUROBS,END,INDSNAME,KEY,KEYRESET,KEYS,NOBS,OPEN,POINT,DATA,LAST,NULL.

我该如何工作?

谢谢您的帮助!

string sas literals

2
推荐指数
1
解决办法
2727
查看次数

标签 统计

literals ×1

sas ×1

string ×1