r.body_end();
7. おまけ: HTML であることを利用して
37
table_2
のような、2
パラメータ(systolic blood pressure, diastolic bloodpressure
)、3
群それぞれのグラフを出力するレポートを考えていくtable_2 スパゲッティプロット full analysis set
4. RWI で HTML を出力(グラフ)
3列2行で各群各項目ごとにグラフを出力したいが、例えばGREPRAYプロシジャやGTLの各
種レイアウトを使用し1ファイルとして出力することも可能であるが、HTMLファイルであれば1 セルに1
グラフを埋め込むことが可能なので、本稿では3
列2
行のセルに1
つずつグラフを埋め 込んでいくtable_2 スパゲッティプロット full analysis set
4. RWI で HTML を出力(グラフ)
39
3列4行の固定テーブルであるので、sasデータセットを使用せずとも、table_2は出力可能である
(もちろんsasデータセットを使用した出力も可能である)
table_2 スパゲッティプロット
full analysis set
4. RWI で HTML を出力(グラフ)
1パラメータ1群ごとのグラフファイル(table_21.png~table_26.png)を用意
4. RWI で HTML を出力(グラフ)
41
ods html5 file="./table_2.html" style=onlyfontstyle;
data _null_;
dcl odsout r();
r.table_start();
r.head_start();
~~~~~~~~~~~~~~~~
r.head_end();
r.body_start();
do p=1 to 2;
r.row_start();
do a=1 to 3;
r.cell_start();
r.image(file:cats("table_2",(p-1)*3+a,".png"));
r.cell_end();
end;
r.row_end();
end;
r.body_end();
r.table_end();
run;
ods html5 close;
2行出力するためのdoループと3列出
力するためのdo
ループを入れ子にして 効率よくコーディングするimageメソッドで画像ファイルを各セル
へ挿入するimage
メソッドのfile
オプションに指定し たファイル名が<img>
タグのsrc
属性と なる"table_21.png"
"table_22.png"
"table_23.png"
"table_24.png"
"table_25.png"
"table_26.png"
4. RWI で HTML を出力(グラフ)
ods html5 file="./table_2.html" style=onlyfontstyle;
data _null_;
dcl odsout r();
r.table_start();
r.head_start();
~~~~~~~~~~~~~~~~
r.head_end();
r.body_start();
do p=1 to 2;
r.row_start();
do a=1 to 3;
r.cell_start();
r.image(file:cats("table_2",(p-1)*3+a,".png"));
r.cell_end();
end;
r.row_end();
end;
r.body_end();
r.table_end();
run;
ods html5 close;
画像ファイル名"だけ"を指定しているた め、ここで出力される
HTML
ファイルと 同じディレクトリに存在するtable_21.png~table_26.pngを表示す
ることになり、つまり相対パスで記載し ていることになる画像ファイルが必ず
1
箇所のディレクトリ に存在する状況であれば、絶対パスで 記載してもよいかも"table_21.png"
"table_22.png"
"table_23.png"
"table_24.png"
"table_25.png"
"table_26.png"
4. RWI で HTML を出力(グラフ)
43
4. RWI で HTML を出力(グラフ)
4. RWI で HTML を出力(グラフ)
45
1. Report Writing Interface(RWI) とは ? 2. RWI の使い方
3. RWI で HTML を出力(要約統計量)
4. RWI で HTML を出力(グラフ)
5. RWI で HTML を出力(一覧表)
6. まとめ
7. おまけ: HTML であることを利用して
最後に以下、table_3のような一覧表を出力するレポートを考えていく
treatment subject parameter timing value change
from baseline
xxxx xxxx xxxx xxxx 99.9*
xxxx 99.9 99.9
xxxx 99.9 99.9
xxxx xxxx 99.9*
xxxx 99.9 99.9
xxxx 99.9 99.9
... ... ... ... ... ...
*:baseline value.
full analysis set table_3 一覧表
5. RWI で HTML を出力(一覧表)
47
出力したい
sas
データセットtable_3
5. RWI で HTML を出力(一覧表)
data _null_;
set table_3 end=end;
by armn subjid paramn visitnum;
if _n_=1 then do;
dcl odsout r();
r.table_start();
r.head_start();
r.row_start();
~~~~~~~~~~~~~~~~
r.row_end();
r.row_start();
~~~~~~~~~~~~~~~~
r.format_cell(data:"change|from|baseline", style_attr:"&bb.",
split:"|", just:"r");
r.row_end();
r.head_end();
r.body_start();
end;
~~~~~~~~~~~~~~~~