ちょっとマニアックな話.
治験分野の内輪話になっちゃうかもですが,英語で解析帳票作ることが増えて,略語を脚注に入れたり,1帳票内での情報の完結といった観点から,なんか昔より解析についての脚注記載も多くなった気がします
上記のRTF出力は
ods escapechar="~";
options orientation=landscape;
ods rtf file="test.rtf";
proc odstable data=sashelp.class(where=(monotonic()<=5));
column name age ;
define header header1; start=name; end=name; text "AAAA";end;
define header header2; start=age; end=age; text "BBBB";end;
define footer MYFOOT1; just=left; style={borderbottomstyle=hidden borderrightstyle=hidden borderleftstyle=hidden background = white}; text "寿限無寿限無五劫の擦り切れ海砂利水魚の水行末雲来末風来末食う寝る処に住む処藪ら柑子の藪柑子パイポパイポパイポのシューリンガンシューリンガンのグーリンダイグーリンダイのポンポコピーのポンポコナーの長久命の長助"; end;
define name; print_headers=off; just=left; style={cellwidth=30mm};end;
define age; print_headers=off; just=center; style={cellwidth=20mm};end;
run;
ods rtf close;
で描いたのですが(罫線などのスタイル制御は通常,別途templateプロシジャで作っておきますが,今回は本筋ではないので,長くなって申し訳ないですがodstable内ですませてます),これだと脚注が,レポート本体部分のnameとageの出力セルの合計幅に制限されてしまい,折り返しが多くなります.帳票全体の右側に余裕がある場合,ここでコンパクトに折りたたまれて,縦伸びされると見た目がバッド.
プロシジャの出力をつかわずods rtftextとかで別途出すのも一つの手ですが,
startpage=noなどで1ページ内複合表を作ってる場合などではods rtftextだと不可避の1行空行が生じたりとか,具合悪い場合も多く,やっぱりodstableのfootnoteで出したいなぁってこともあったりします
その際に,正解なのは不明で,もっといい方法があれば教えて欲しいのですが
ods escapechar="~";
options orientation=landscape;
ods rtf file="test.rtf";
options orientation=landscape;
ods rtf file="test.rtf";
proc odstable data=sashelp.class(where=(monotonic()<=5));
column name age gap;
define header header1; start=name; end=name; text "AAAA";end;
define header header2; start=age; end=age; text "BBBB";end;
define header gaphed; start=gap; end=gap; style={background = white borderbottomstyle=hidden bordertopstyle=hidden borderrighttyle=hidden}; text " "; end;
define footer MYFOOT1; just=left; style={borderbottomstyle=hidden borderrightstyle=hidden borderleftstyle=hidden background = white}; text "寿限無寿限無五劫の擦り切れ海砂利水魚の水行末雲来末風来末食う寝る処に住む処藪ら柑子の藪柑子パイポパイポパイポのシューリンガンシューリンガンのグーリンダイグーリンダイのポンポコピーのポンポコナーの長久命の長助"; end;
define name; print_headers=off; just=left; style={cellwidth=30mm};end;
define age; print_headers=off; just=center; style={cellwidth=20mm};end;
define gap; compute as (""); style={borderbottomstyle=hidden borderrightstyle=hidden cellwidth=150mm };
run;
ods rtf close;
column name age gap;
define header header1; start=name; end=name; text "AAAA";end;
define header header2; start=age; end=age; text "BBBB";end;
define header gaphed; start=gap; end=gap; style={background = white borderbottomstyle=hidden bordertopstyle=hidden borderrighttyle=hidden}; text " "; end;
define footer MYFOOT1; just=left; style={borderbottomstyle=hidden borderrightstyle=hidden borderleftstyle=hidden background = white}; text "寿限無寿限無五劫の擦り切れ海砂利水魚の水行末雲来末風来末食う寝る処に住む処藪ら柑子の藪柑子パイポパイポパイポのシューリンガンシューリンガンのグーリンダイグーリンダイのポンポコピーのポンポコナーの長久命の長助"; end;
define name; print_headers=off; just=left; style={cellwidth=30mm};end;
define age; print_headers=off; just=center; style={cellwidth=20mm};end;
define gap; compute as (""); style={borderbottomstyle=hidden borderrightstyle=hidden cellwidth=150mm };
run;
ods rtf close;