2013-10-12 2 views
0

큰 데이터 집합에서 변수에 대한 더미를 만들려면 sas에 else loop 매크로를 만들려고합니다.그렇다면 다른 sas에서 매크로를 반복

enter code here 



%macro dummy(x,y,z); 
data handle; 
set handle; 
%if &x='&y' %then %do; 
&z=1; 
%end; 
%else %do; 
&z=0; 
%end; 
run; 
%mend dummy; 

하고 나는 그것이 var에 age_res1를 만든 매크로

%dummy(age_restriction,02,age_res1) 

을 유발하지만 조건이 직접 할 다른 경우에 % 기호를 사용하여

을 암시되지 않은 : 내가 사용하는 코드입니다 조건을 사용하고 정확한 코드를 생성하지는 않지만 조건도 실행되지 않았습니다.

답변

1

솔직히 말해서 나는 질문을받지 못합니다. 는하지만 다음 줄에 하나의 오류를 발견

%if &x='&y' %then %do; 

당신은 매크로 변수 y를 해결 할 수 있도록 큰 따옴표와 작은 따옴표를 교체해야합니다.

그리고 매크로 코드와 관련하여 컴파일과 실행 시간 사이에 차이가 있습니다. 이 주제에 대한 정보는 다음에서 찾을 수 있습니다. http://www2.sas.com/proceedings/sugi27/p067-27.pdf

관련 문제