SAS에서 데이터 단계 내의 루프에서 매크로 변수를 호출하는 방법을 알아 내려했지만 손실되었습니다. 그래서 나는 14 개의 매크로 변수를 가지고 있으며 각각을 벡터의 엔트리와 비교해야만한다. 나는 시도했다 :SAS의 루프에서 매크로 변수를 해결하는 방법
data work.calendrier;
set projet.calendrier;
do i=1 to 3;
if date= "&vv&i"D then savinglight = 1;
end;
run;
그러나 작동하지 않는다. 변수 vv1 ~ vv3은 날짜 변수입니다. 예를 들어,이 코드는 다음과 같이 작동합니다.
data work.calendrier;
set projet.calendrier;
*do i=1 to 3;
if date= "&vv1"D then savinglight = 1;
*end;
run;
그러나 루프를 사용하면 매크로 변수를 확인할 수 없습니다.
배열 대신 매크로 변수를 사용하는 이유가 있습니까? – Reeza
코드에서 '벡터'가 아닌 하나의 변수 만있는 것처럼 보입니다. DATE의 값이 매크로 변수 값 중 하나와 일치하면 새 변수를 1로 설정 하시겠습니까? – Tom