2017年3月7日火曜日

ODSTABLEプロシジャ入門3:変数の設定【DEFINE COLUMN】


出力する変数に対して、オプションを設定する方法を紹介。



基本構文

  PROC ODSTABLE  ・・・;
       DEFINE  COLUMN   出力変数名;
             オプション ;
       END;
  RUN;


または、以下のように事前にCOLUMNステートメントで出力変数名を記述していれば、、
  PROC ODSTABLE  ・・・;
       COLUMN   出力変数名1   出力変数名2 ・・・ ;

       DEFINE  出力変数名1;
             オプション ;
       END;
  RUN;

「DEFINE COLUMN 出力変数名」ではなく「DEFINE 出力変数名」というように縮めて書けます。


オプション一覧(一部)
  設定  設定内容
 header = "列ラベル"

 列ラベル
 text_split = "改行用区切り文字"

 テキストの改行用区切り文字を設定
 format = フォーマット

 変数にあてるフォーマット
 blank_dups = on|off 

 前のオブザベーションの値と同じだったら値を非表示にする
 vjust = top|center|bottm

 縦位置
 just = right|center|left 

 横位置
 style = {書式設定}

 {書式設定} の部分はproc reportでの書き方と一緒です
 以下リンク先の記事を参照ください。


では例をいくつか見ていきましょう。


Sample data

proc sort data=SASHELP.CLASS out=CLASS;
  by SEX AGE NAME ;
run;
data CLASS;
  set CLASS;
  A=1;
run;



例①

proc odstable data=CLASS;
  column SEX AGE NAME ;
  define SEX;
    header = "せいべつ";
  end;
run;


変数SEXの列ラベルを「せいべつ」に変えています。


例②

proc odstable data=CLASS;
  column SEX AGE NAME ;
  define SEX;
    define header HEAD_SEX;
      text "せい#べつ";
      split = "#";
    end;
    header = HEAD_SEX;
  end;
run;


ちょっとしたテクニック。
define headerで定義したものを、header=オプションで参照しています。


例③

proc odstable data=CLASS;
  column SEX AGE NAME A;
  define SEX;
    header = "せいべつ";
    blank_dups = on;
    just=r;
  end;
run;


いくつかオプションを設定した例です。
・「blank_dups = on」で、前のオブザベーションと同じ値だったら値を非表示に。
・「just=r」でテキストを右詰めに。



ODSTABLEプロシジャ入門記事一覧

1.基本構文【COLUMN】
2.ヘッダー・フッター【DEFINE HEADER, FOOTER】
3.変数の設定【DEFINE COLUMN】

0 件のコメント:

コメントを投稿