2014-04-05 2 views
1

나는 다음과 같은 프로그램SAS 매크로 오류

%let col1 = dept; %let data = company; proc sql; select * from &data, employee where &data.&col1 = employee.name; quit;

에게 제출 그리고이 오류 얻을 : 이러한 오류의 원인이 무엇

ERROR: The following columns were not found in the contributing tables: companydept.

를?

답변

3

매크로 변수 다음의 첫 번째 마침표는 매크로 구분 기호로 사용됩니다. 이런 다른 기간을 추가해야합니다.

& 데이터 .. & COL1 =

+0

우리가이 시나리오에서 구분이 필요한 이유? – zhuoer

+0

where 문을 완전히 정지해야합니다 (예 : 'company.dept'- 하나는 매크로 변수의 이름을 '마침'합니다. SAS는 매크로 변수 이름의 끝을 결정하기 위해 [공간]이 가장 일반적인 구분 기호를 사용합니다. – rambles

+0

그래서'& 데이터를 쓰는 것과 같습니다. & col1 ='? 어떤 경우에는 구분자를 생략 할 수 있음을 기억합니다. 그러나 나는 세부 사항을 잊었다. – zhuoer