2017年4月24日月曜日

プロシジャで変数ラベルに改行を入れる方法


プロシジャ毎に方法が異なるので、それぞれ例をあげていきます。

PROC SQL の場合
proc sql;
 select AGE "#ねん#れい"
 from SASHELP.CLASS;
quit;


ラベルの先頭に「#」を入れると、以降ラベル中に「#」が出てきたらそこから改行を入れるように設定できます。
(最近マニュアル読んでて気づきました。小ネタ好きとしては見つけたとき結構うれしかった。。)



PROC PRINT の場合
proc print data=SASHELP.CLASS noobs label split="#";
 var AGE;
 label AGE="ねん#れい";
run;


SPLIT=オプションでラベルの改行文字を設定できます。
上の例では「#」を改行文字に設定していますが、適当に他の文字を設定してもOK。


PROC REPORT の場合
proc report data=SASHELP.CLASS nowd split="#";
 column AGE;
 define AGE / display "ねん#れい";
run;



PROC PRINTと同様SPLIT=オプションが使えます。

参考:
REPORTプロシジャ入門2:ヘッダーの設定
PROC REPORTでヘッダーを改行するもう一つの方法


その他のプロシジャの場合
proc freq data=SASHELP.CLASS;
 table AGE;
 label AGE="ねん(*ESC*){newline 1}れい";
run;


出力先がODS HTML, RTF, PDFだとかの場合は、上記のようにインラインフォーマット関数というものを使って改行できます。

参考:
ODS出力時に文字の書式設定をする【インラインフォーマット関数】


0 件のコメント:

コメントを投稿