2017-03-10 1 views
0

% include를 사용하여 main.sas에 대해 더 작은 SAS 프로그램을 많이 실행합니다. 모든 작은 프로그램의 주석이 각 프로그램을 개별적으로 실행했을 때와 똑같이 로그에 인쇄되도록하고 싶습니다. 나에게 도움이되는 옵션을 찾을 수없는 것 같습니다 (포함 된 프로그램을위한 mprint와 같은 것). SAS를 처음 접했을 때 이것은 매우 간단한 문제 일 수도 있습니다. 그리고 이제 우리는 그것에 대해 이야기하고 있습니다. 누군가 입력과 소스의 차이에 대해 약간의 통찰력을 가지고 저를 도울 수 있습니까? SAS 도움말 페이지에서 도움을받는 것은 매우 어렵습니다.SAS : %가 포함 된 프로그램의 주석을 로그에 인쇄하지 않는 이유는 무엇입니까?

정말 고마워요! 키라

+0

두 번째 질문이 명확하지 않습니다. % include의 컨텍스트에서 "입력 파일"과 "소스 파일"은 같은 것을 참조 할 수 있습니다 (즉, % include 문에서 읽는 파일). 또는 "소스"파일이 % include 문을 포함하는 주 실패를 참조 할 수도 있습니다. 이 용어를보고있는 곳으로 더 많은 컨텍스트 (문서 또는 기타를 인용)를 줄 수 있습니까? – Quentin

답변

2

심플. 주 프로그램 시작시 option source2;을 추가하기 만하면됩니다. 이렇게하면 SAS가 %include으로 실행되는 모든 프로그램의 로그에 코드와 주석을 인쇄합니다.

+0

나는 그것이 간단해야한다는 것을 알고 있었다! SAS의 가장 큰 문제점은 SAS 도움말 페이지의 전문 용어를 이해하지 못한다는 것입니다. 정말 고맙습니다! – Kira

0

SOURCESOURCE2 옵션은 SAS 코드가 로그에 포함되는지 여부를 제어합니다. 일반적으로 기본값은 SOURCENOSOURCE2입니다. SOURCE2 시스템 옵션을 변경하거나옵션을 추가 할 수 있습니다. SAS 코드가있는 몇 개의 샘플 파일을 생성하려면이 작은 프로그램을 사용하십시오.

filename file1 temp ; 
filename file2 temp ; 
data _null_; 
    file file1 ; 
    put '* This line is from FILE1;'; 
    file file2 ; 
    put '* This line is from FILE2;'; 
run; 

지금에와 소스 2 옵션을 사용하지 않고 %INCLUDE을 사용합니다.

%include file1 file2 ; 
%include file1 file2/source2 ; 

다음은 로그의 모양입니다.

71   %include file1 file2 ; 
74   %include file1 file2/source2 ; 
NOTE: %INCLUDE (level 1) file FILE1 is file /tmp/SAS_workAEE90000185C_localhost.localdomain/#LN00050. 
75  +* This line is from FILE1; 
NOTE: %INCLUDE (level 1) ending. 
NOTE: %INCLUDE (level 1) file FILE2 is file /tmp/SAS_workAEE90000185C_localhost.localdomain/#LN00051. 
76  +* This line is from FILE2; 
NOTE: %INCLUDE (level 1) ending. 
77 
+0

답변 해 주셔서 감사합니다. :-) – Kira

관련 문제