숫자 변수를이 매크로에 전달하려고합니다. KEEP 및 SET 문을 통해 전달할 수 있지만 RENAME 문을 가져 오면 이러한 오류가 발생합니다.SAS에서 숫자 열 이름 사용
오류 : '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;
큰 따옴표를 & 년으로 변경하면 어떻게됩니까? 이 같은 작은 따옴표로 :
ERROR :
SET WORK.'&year.'n (KEEP="&year."n "&cwyear."n RENAME=("&year."n =start "&year."n =label))
이 오류가 얻을. 파일 WORK를 ' & YEAR.'n.DATA가 존재하지 않습니다.
내가 다시 모든 따옴표로 변경하고 제거 N의, 나는 다음과 같은 오류 얻을 :
ERROR 22-322 : 다음 중 하나를 기대 구문 오류 : 이름, 인용 된 문자열,,, CUROBS, END, INDSNAME, KEY, KEYRESET, 키, NOBS, OPEN, POINT, 데이터, LAST, NULL.
어떻게하면됩니까?
도움 주셔서 감사합니다.
왜 당신은'n'를 제거하는 방법은 무엇입니까? – Joe
원래 코드에 큰 따옴표와 n이 있고 오류가 발생했기 때문입니다. 나는 이미 알고있는 것과 다른 것을 시험하려고 노력하고 있었다. – theponcer
원래 오류 메시지는 변수가 존재하지 않는다는 것입니다. 레이블 대신 이름으로 변수를 참조하지 않으시겠습니까? – Tom