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; ods html;
結果 |
解説
今回使うlayout_absoluteメソッドは、マニュアルにPRINTER出力のみ対応してるよと書いてあります。
なので、HTML出力を閉じておき、PDFファイルに出力します。
なので、HTML出力を閉じておき、PDFファイルに出力します。
ods html close; ods pdf file="出力するPDFファイルのフルパス";
|
好きな位置に配置するためのレイアウトを開始。
layout_absolute()
|
表を配置する前にregionメソッドで領域の出力位置を設定。
ただ、いまいち分からないのが、例えば位置を5cmと設定して、出力されたpdfを倍率100%にして見ても5cmのところに配置されてるわけでもなさそう?。。どういう基準で配置されてるのかよく分からないです。
region( x : 'xの位置' , y : 'yの位置' )
|
レイアウト設定を終了させます。
layout_end()
|
PDF出力を閉じて出力完了。あと最後にデフォルトの出力先をHTMLにしてます。
ods pdf close; ods html; |
イメージとしては、スクラップブックのように、いろんな表やグラフを好きな位置にペタペタ貼る感じです。
また別の記事で、応用例(遊び)を紹介したいと思います。
0 件のコメント:
コメントを投稿