2012-06-18 2 views
1

SAS에서 %let 문을 데이터베이스에있는 값으로 참조 할 수 있습니까?SAS let 문 : 셀 값을 참조 하시겠습니까?

예를 들어, %let n=50의 내 n 값은 내 데이터베이스 중 하나 (예 : 첫 번째 행 + 첫 번째 열)에서 계산 된 일부 값에 따라 달라집니다. 그리고 그 값은 내 루프에서 100 번 수정되기 때문에 수동으로 그 값을 입력하고 싶지는 않습니다.

답변

6

여러 가지 방법이 있습니다. 여기서 두개의 :

proc sql; 
select a+b into :n 
from your_table 
where some_condition; 
quit; 

이것은 변수의 합과 ab와 매크로 변수 &n을 집단. 지정한 조건은 테이블의 한 행에 대해서만 true 여야합니다.

또 다른 방법 :

data tmp; 
set your_table; 
if _n_=1 then do; 
    call symputn('n',a+b); 
end; 
run; 
+0

아 딱! symputn과 symput 명령에 대한 추가 읽기를 수행했습니다. 사실 나는 symputn을 사용하지 않고 symputn을 사용했습니다. SAS는 symputn을 사용하는 동안 오류 메시지를 계속 받았습니다. 어쨌든 모든 것이 작동합니다! 다시 한 번 감사드립니다. – Plug4