2017年2月14日火曜日

PROC REPORTで先頭の半角スペースを保持する方法(ODS出力時)



ちょっと前に以下の記事を書きました。
PROC REPORTでインデントをつける方法(ODS出力時)


そして昨日マニュアル読み漁ってたら違う方法みつけました。
ちなみに「ODS RTF」での例になります。その他の出力先でも今回の方法が使用できるかはリファレンスをご確認下さい。


以下のような、先頭に半角スペースが入っている変数があったとします。

* Sample data ;
data dt1;
length a $3.;
a="aaa";output;
a=" bb";output;
a="ccc";output;
a=" dd";output;
run;

aaa 
 bb  
ccc  
 dd 


そして以下、変数Aのデータ部分の先頭の半角スペースを保持する例
(注意事項があるので下の説明もご覧下さい)

ods rtf file="出力するRTFファイルのフルパス";
proc report data=dt1;
  define a / display  style(column) = {asis = on};
run;
ods rtf close;

styleオプションの「asis=on」で先頭の半角スペースを保持してくれます。
(注意: ちなみに変数値に改行が含まれてる場合、改行も保持するようになります)


また、全変数のデータ部分に対してこのオプションを適用したい場合は、以下のように書きます。

ods rtf file="出力するRTFファイルのフルパス";
proc report data=dt1 style(column) = {asis = on};
  define a / display;
run;
ods rtf close;


0 件のコメント:

コメントを投稿