ラベル ODS LAYOUT GRIDDED の投稿を表示しています。 すべての投稿を表示
ラベル ODS LAYOUT GRIDDED の投稿を表示しています。 すべての投稿を表示

2019年10月6日日曜日

ODS LAYOUT GRIDDED入門: 「ODS REGION」の活用





「ODS REGION」で領域毎にオプションを設定できます。




構文

ODS REGION  オプション;


オプション
※ オプションの組み合わせや、ODS出力先毎に、動作しない事があるので要挙動確認
 指定 設定内容 
width =
height =
領域の横幅
領域の高さ
column =
row =
何列目の領域に配置するか
何行目の領域に配置するか
column_span =
row_span =
結合する領域の列数
結合する領域の行数
description = "テキスト"代替テキスト
style = [スタイル]領域内のスタイル



ods pdf file="c:\test.pdf";

ods layout gridded

  columns=2 rows=2 column_gutter=0in row_gutter=0in;

 ods region column=1 row=1;
 proc freq data=sashelp.class;
   tables sex;
 run;

 ods region column=2 row=2;
 proc means data=sashelp.class n mean std;
   var height weight;
 run;

ods layout end;

ods pdf close;




記事一覧

1. 基本構文
2. ODS REGION


2019年10月3日木曜日

「ODS LAYOUT GRIDDED」の「ADVANCE=オプション」




ODS LAYOUT」は「ODS HTML」「ODS PRINTER(PDF等)」「ODS PowerPoint」での出力のみサポートしてるのでご注意を。


まずは以下記事をご覧ください。
ODS LAYOUT GRIDDED入門



今回は上の記事の「ADVANCE=オプション」を詳しく解説したいと思います。



通常は「ODS REGION」を指定して、次の領域に出力を移動させますが、
「ADVANCE=オプション」で、「次の領域に出力を移動させるルール」を新たに設定できます。



ADVANCE=」の設定値
設定値内容 
bygroup
BYグループごとに領域を移動(プロシジャごとにも領域を移動するようです)
explicit「ODS REGION」が指定されない限り領域を移動しない(デフォルト)
procプロシジャごとに領域を移動
tableテーブルごとに領域を移動
output出力ごとに領域を移動

(「table」と「output」の違いがよく分からない・・テストしてみたけど同じじゃないの?)




例1
ods pdf file="c:\test.pdf";
ods layout gridded columns=2 column_widths=(3in 3in) advance=bygroup;

 proc sgplot data=sashelp.cars;
   scatter x=msrp y=enginesize;
   by make;
 run;

ods layout end;
ods pdf close;


「ADVANCE=BYGROUP」として、BY値ごとにグラフを格子状に配置させています。



例2
ods pdf file="c:\test2.pdf";
ods layout gridded columns=2 column_widths=(4in 3in) advance=table;

 proc univariate data=sashelp.class;
    var height;
 run;

ods layout end;
ods pdf close;


「ADVANCE=TABLE」として、プロシジャから出力される各テーブルを格子状に配置させています。




2019年9月29日日曜日

ODS LAYOUT GRIDDED入門: 基本構文




SAS9.4から追加された「ODS LAYOUT GRIDDED」では格子状に領域を作って、プロシジャの出力を各領域に配置させることが出来ます。

格子状に仕切りを定義するODS LAYOUT GRIDDEDのイメージ


構文

ODS LAYOUT GRIDDED オプション;

     ODS REGION;
     プロシジャ

     ODS REGION;
     プロシジャ

ODS LAYOUT END;


  • ODS HTML」「ODS PRINTER (PDF等)」「ODS PowerPoint」への出力のみサポート。
  • 「ODS REGION」で次の領域に移動します。
  • 「ODS LAYOUT GRIDDED」には以下のオプションが設定可


オプション(※出力先によっては動作しないので適宜挙動確認して下さい!)
 指定 設定内容 
width =
height =
レイアウトの幅
レイアウトの高さ
columns =
rows =
列数
行数
column_gutter =
row_gutter = 
列間のスペースの横幅
行間のスペースの高さ
order_type = row_major | column_major

次の領域に進む順を横方向にするか縦方向にするか
(PRINTER出力先のみ変更可)
column_widths = ( 幅1 幅2・・・)
row_heights = ( 高さ1 高さ2・・・)
各列の幅
各行の高さ
x =
y =
レイアウトの横位置
レイアウトの縦位置
advance = bygroup | explicit | proc | table | output(ODS REGION以外で) 次の領域に移動するルール (詳細はこちらで解説)
description = "テキスト"代替テキスト
style = [スタイル]レイアウトのスタイル





ods pdf file="c:\test.pdf";

ods layout gridded
  columns=2 rows=2 column_gutter=0in row_gutter=0in;

 ods region;
 proc freq data=sashelp.class;
   tables sex;
 run;

 ods region;
 proc means data=sashelp.class n mean std;
   var height weight;
 run;

 ods region;
 ods graphics / width=3in height=2in;
 proc sgplot data=sashelp.class;
   scatter x=height y=weight / group=sex;
 run;

ods layout end;

ods pdf close;





記事一覧

1. 基本構文