RWIで、複数の表を好きな位置に配置する方法を紹介。
ods html close; ods pdf file="出力するファイルのパス\test.pdf";
data _NULL_;
dcl odsout ob();
* レイアウト設定開始 ;
ob.layout_absolute();
* 1個目の表を配置 ;
ob.region( x:'1cm', y:'1cm' );
ob.table_start();
ob.row_start();
ob.format_cell(data:"aa");
ob.format_cell(data:"bb");
ob.row_end();
ob.table_end();
* 2個目の表を配置 ;
ob.region( x:'5cm', y:'2cm' );
ob.table_start();
ob.row_start();
ob.format_cell(data:"cc");
ob.format_cell(data:"dd");
ob.row_end();
ob.table_end();
ob.layout_end();
run;
ods pdf close;
結果 |
解説
今回使うlayout_absoluteメソッドは、マニュアルにPRINTER出力のみ対応してるよと書いてあります。
なので、HTML出力を閉じておき、PDFファイルに出力します。
ods html close; ods pdf file="出力するPDFファイルのフルパス";
|
好きな位置に配置するためのレイアウトを開始。
表を配置する前にregionメソッドで領域の出力位置を設定。
ただ、いまいち分からないのが、例えば位置を5cmと設定して、出力されたpdfを倍率100%にして見ても5cmのところに配置されてるわけでもなさそう?。。どういう基準で配置されてるのかよく分からないです。
region( x : 'xの位置' , y : 'yの位置' )
|
レイアウト設定を終了させます。
PDF出力を閉じて出力完了。あと最後にデフォルトの出力先をHTMLにしてます。
イメージとしては、スクラップブックのように、いろんな表やグラフを好きな位置にペタペタ貼る感じです。
また別の記事で、応用例(遊び)を紹介したいと思います。