끄적이는 프로그래밍/SAS 프로그래밍

SAS로 RTF 파일 출력하기 3 (proc report)

요맘때10 2022. 8. 9. 16:50
반응형

기본 형태

흔히 통계 분석 결과 출력 시 많이 이용하는 형태인데,

오늘은 Proc Report를 이용하여 아래 형태를 만드는 방법에 대해 알아보자.

출처: ADaM examples in Commonly Used Statistical Analysis Methods Version 1.0

 

이전 포스팅을 먼저 보고 오려면 아래 링크 Click

2022.05.04 - [끄적이는 통계분석/SAS] - SAS로 RTF 파일 출력하기 1

 

SAS로 RTF 파일 출력하기 1

기본 형태 ods listing close; options nodate nonumber orientation=portrait; ods rtf file="출력파일경로\출력파일명.RTF"; procedure or ods text ... ods rtf close; ods listing; 기본 형태의 틀에 하나..

youivab.tistory.com

2022.05.06 - [끄적이는 통계분석/SAS] - SAS로 RTF 파일 출력하기 2

반응형

1. 자료 형태

먼저 Proc Means 를 이용하여 그룹별로 분석 후 데이터 핸들링을 통해 아래 모양의 형태를 만든다.

데이터 핸들링은 알아서...

proc means data=데이터셋;
class 그룹;
var 분석변수1 분석변수2 ... 분석변수 n;
where 조건;
run;

1. 수치는 임의로 xx로 표시.

2. PARAMCD: 분석변수, GROUP1-GRPUP3: 그룹별 분석 결과


2. 결과 출력

proc report data=d out=e;
  column PARAMCD _STAT_ NEW GROUP1 GROUP2 GROUP3;

  define PARAMCD / order noprint;
  define _STAT_ / noprint;

  define NEW / computed;

  define GROUP1 / display;
  define GROUP2 / display;
  define GROUP3 / display;

  break before PARAMCD / summarize;

  compute NEW / character length=200;
    if _break_="PARAMCD" then NEW="^R'\b' "||strip(PARAMCD);
    else NEW="^R'\li250' "||_STAT_;
  endcomp;

  compute after PARAMCD;
    line "";
  endcomp;

  compute after _page_;
    line "";
  endcomp;
run;

1. PARAMCD, _STAT_ 열을 이용하여 NEW 열을 생성

2. PARAMCD, _STAT_ 열은 define 문으로 noprint 옵션을, NEW 열은 define 문으로 computed 옵션을 설정

3. break before 문을 이용하여 PARAMCD 구분자 생성

4. If 문을 이용하여 PARAMCD 구분자일 경우 PARAMCD 열을, 그 외에는 _STAT_ 문을 가져오도록 명령

5. ^R'\b' : RTF control word로 RTF 출력 시 볼드체

6. ^R'\lixxx' : RTF control word로 RTF 출력 시 xxx만큼 들여쓰기

7. 5-6 번의 ^ 문자는 ods escapechar = "" 로 설정가능. 


3. ODS RTF 출력

Proc template으로 원하는 표 스타일 설정 후, 위의 proc report 코드를 삽입하면 완성..

ods listing close;

options nodate nonumber orientation=portrait; *landscape;
ods escapechar = "^";
ods rtf file="C:\test.RTF" STYLE=스타일명;

proc report;
  ...
run;

ods rtf close;

반응형