PROC REPORT 문에서 Compute before 구문을 사용하여 Line 구문을 추가하였습니다.
Line 추가 시 왼쪽에 둘 것인지, 오른쪽에 둘 것인지 설정을 할 수 있는데, Line이 2개 이상일 때 하나는 왼쪽에, 하나는 오른쪽에 출력하게 하고 싶으나, 제일 처음 입력한 위치(왼쪽)를 기준으로 출력되고 있습니다.
Line 각각을 원하는 위치(왼쪽 정렬 or 오른쪽 정렬)에 출력하게 하려면 어떻게 해야 할까요?
사용한 코드 및 출력물 첨부하였습니다.
[CODE]
ods rtf file="&PATH.\output\report.rtf" style=styles.test ;
proc report data = data.t1_1;
column cval;
compute before _page_;
line "^S={just=l font_face='times new roman' verticalalign = middle} LEFT";
line "^S={just=r font_face='times new roman' font_size=8pt} RIGHT" ;
endcomp;
run;
ods rtf close;
[결과물]
결과물을 보시면 'RIGHT'는 Line 구문에서 'just=r' 로 설정하여 오른쪽으로 나올 것(오른쪽 정렬)으로 예상하였는데, 왼쪽(왼쪽 정렬)에 나와 문의드립니다.
[출력되기 원하는 형태]
여러 방식으로 코드를 변경해 보며 시도해 보았지만.. 원하는 결과물이 나오지 않아 문의 드립니다.
방법을 못 찾으면 몇 백 개의 결과물을 수작업을 해야 해서.. 좋은 방법이 있으면 꼭.. 공유해 주시면 감사하겠습니다.
글 읽어 주셔서 감사합니다.
답변 감사드립니다!
말씀해 주신 방법 적용해 보았는데, rtf 파일에서는 적용이 되지 않아서..
rtf 파일에는 적용이 안되는 걸까요?
다시 한 번 감사드립니다.
RTF 파일에는 LINE 문장을 2번 이상 사용할 경우,
줄바꿈이 LF(Line Feed)만 들어가게 되어서 각 줄에 대한 정렬을 별도로 지정할 수 없게 됩니다.
대신 PDF 출력을 하시면 각 줄별 정렬이 적용 되어서 결과가 생성됩니다.
ods escapechar='^';
ods pdf file="~/report.pdf" style=styles.test ;
proc report data = sashelp.class;
column name;
define name / style(column)=[cellwidth=2in];
compute before _page_;
line "^S={just=l font_face='times new roman' verticalalign = middle} LEFT";
line "^S={just=r font_face='times new roman' font_size=8pt} RIGHT" ;
endcomp;
run;
ods pdf close;
답변 감사드립니다.
불가능한 부분이었군요...
PDF 로는 가능하다는 사실 알려주셔서 감사합니다. 참고하도록 하겠습니다.
RFT 파일로 출력을 할 경우 PROC TEMPLATE을 사용해서 Title이나 FootNote를 LEFT, RIGHT, CENTER로 위치를 지정할 수 있지만, 라인 별 위치를 지정할 수는 없습니다.
관련 url 아래에 첨부하였습니다.
https://support.sas.com/rnd/base/ods/templateFAQ/Template_rtf.html
답변 및 링크 감사합니다.
참고해서 다른 방법이 있는지 찾아보겠습니다..
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!