포스팅 목차
o PUTLOG 구문
1. 목 적
PUTLOG 구문은 SAS 로그에 지정한 메시지를 출력한다. PUTLOG 구문은 현재 파일 대상(destinations)에 영향 없이 SAS 로그에 출력할 수 있기 때문에, 매크로 작업에 대한 중간 결과 확인 시 유용하다.
2. 문 법
PUTLOG 'message'; |
1) message
SAS 로그에 작성하기 원하는 메시지를 지정한다. 메시지에는 문자 상수(인용부호로 묶인 문자들), 변수 이름, 출력형식(Format), 포인터 조절자 등을 지정할 수 있다. 로그에서 출력물에 대한 내용을 쉽게 확인할 수 있도록 메시지 앞에 WARNING, MESSAGE, NOTE 문자를 삽입 할 수 있다.
Tip : | 로그에서 출력물에 대한 식별을 쉽게 하기 위하여 메시지 앞에 WARNING, MESSAGE, NOTE 문자를 삽입 할 수 있다. |
3. 범 주
SAS 기본 구문 (실행 구문)
4. 상세 설명
PUTLOG 구문은 SAS 로그에 지정한 메시지를 작성한다. PUTLOG 구문은 현재 파일 대상(destinations)에 영향 없이 SAS 로그에 출력물을 보낼 수 있기 때문에, 매크로 사용시에 유용하다.
5. 비교 사항
- PUTLOG 구문은 ERROR 구문과 유사하지만, PUTLOG 구문은 _ERROR_을 1로 설정하지 않는다.
6. 관련 구문
구문명 | 구문함수 |
ERROR 구문 | SAS 내부적으로 에러 상태를 관리하는 내부 변수 _ERROR_ 을 1로 설정하고, 로그에 해당 관측치에 대한 내용(변수 이름, 관측치, 관측치 번호 등)을 작성한다. |
PUT 구문 | 가장 최근 FILE 구문에서 지정한 SAS 로그, SAS 출력 윈도우, 또는 외부 파일 등에 출력 라인을 작성한다. |
PUTLOG | SAS 로그에 지정한 메시지를 출력한다. |
7. 예 제
예제1 : PUTLOG 구문을 사용하여 SAS 로그에 메시지 작성하기
다음 프로그램은 평균 SCORE을 계산하고, 입력데이터를 평가하는 computeAverage92 매크로를 생성하고, 이 매크로에서 에러메시지를 SAS로그에 작성하기 위하여 PUTLOG 구문을 사용한다. 로그에 경고메시지를 작성하기 위하여 DATA 스텝에서 PUTLOG 구문을 사용한다.
data ExamScores;
input Name $ 1-16 Score1 Score2 Score3;
datalines;
Sullivan, James 86 92 88
Martinez, Maria 95 91 92
Guzik, Eugene 99 98 .
Schultz, John 90 87 93
van Dyke, Sylvia 98 . 91
Tan, Carol 93 85 85
;
options pageno=1 nodate linesize=80 pagesize=60;
filename outfile 'your-output-file';
/* 에러 메시지를 SAS 로그에 출력하기 위하여 PUTLOG 사용 */
%macro computeAverage92(s1, s2, s3, avg);
if &s1 < 0 or &s2 < 0 or &s3 < 0 then
do;
putlog 'ERROR: Invalid score data ' &s1= &s2= &s3=;
&avg = .;
end;
else
&avg = mean(&s1, &s2, &s3);
%mend;
data _null_;
set ExamScores;
file outfile;
%computeAverage92(Score1, Score2, Score3, AverageScore);
put name Score1 Score2 Score3 AverageScore;
/* SAS 로그에 경고 메시지를 작성하기 위하여 PUTLOG 사용 */
if AverageScore < 92 then
putlog 'WARNING: Score below the minimum ' name= AverageScore= 5.2;
run;
proc print;
run;
프로그램은 SAS 로그에 다음 라인을 출력한다.
WARNING: Score below the minimum Name=Sullivan, James AverageScore=88.67
ERROR: Invalid score data Score1=99 Score2=98 Score3=.
WARNING: Score below the minimum Name=Guzik, Eugene AverageScore=.
WARNING: Score below the minimum Name=Schultz, John AverageScore=90.00
ERROR: Invalid score data Score1=98 Score2=. Score3=91
WARNING: Score below the minimum Name=van Dyke, Sylvia AverageScore=.
WARNING: Score below the minimum Name=Tan, Carol AverageScore=87.67
[SAS Statement] SAS 데이터 스텝 구문 사전 목록] |
SAS 함수(SAS Function) 리스트 링크 |
반응형
'SAS > SAS 구문사전' 카테고리의 다른 글
【SAS Statement】 REMOVE 구문 (0) | 2022.02.05 |
---|---|
【SAS Statement】 REDIRECT 구문 (0) | 2022.02.05 |
【SAS Statement】 PUT 구문, List (목록 출력 방식) (0) | 2022.02.04 |
【SAS Statement】 PUT 구문, Formatted (출력형식 지정 출력방식) (0) | 2022.02.04 |
【SAS Statement】 PUT 구문 (열 출력 방식) (0) | 2022.02.04 |
댓글