出力する変数に対して、オプションを設定する方法を紹介。
PROC ODSTABLE ・・・;
DEFINE COLUMN 出力変数名; オプション ; END; RUN; |
または、以下のように事前にCOLUMNステートメントで出力変数名を記述していれば、、
PROC ODSTABLE ・・・;
COLUMN 出力変数名1 出力変数名2 ・・・ ; DEFINE 出力変数名1; オプション ; END; RUN; |
「DEFINE COLUMN 出力変数名」ではなく「DEFINE 出力変数名」というように縮めて書けます。
オプション一覧(一部)
※ 設定可能なオプションは rtf, html 等の出力先毎に違う&オプションの組み合わせで挙動が変わる事があるので、リファレンスも要参照です。
設定 | 設定内容 |
header = "列ラベル" | 列ラベル |
text_split = "改行用区切り文字" | データ部分の改行用区切り文字 |
blank_dups = on | 前のオブザベーションの値と同じだったら値を非表示にする
|
vjust = top | center | bottom | 縦位置 |
justify = on just = right | center | left | 横位置
|
style = {書式設定} |
|
では例をいくつか見ていきましょう。
proc sort data=SASHELP.CLASS out=CLASS; by AGE WEIGHT; where AGE in (13,14); run; |
変数SEXの列ラベルを「せいべつ」に変えています。
ちょっとしたテクニック。
define column内にdefine headerを定義することで、header=オプションで参照することが出来ます。
「blank_dups = on」で、前のオブザベーションと同じ値だったら値を非表示に。
また、「classlevels = on」というオプションを設定すると「blank_dups = on」の挙動が変わります。
本来、4オブザベーション目のSEXの値「F」は非表示になるはずですが「classlevels = on」によって挙動が変わりました。
「blank_dups = on」を設定した変数内で、i番目の列(AGE)の値が非表示になっていなければ、i+1番目の列(SEX)の値も非表示にしない、という挙動になります。
0 件のコメント:
コメントを投稿