DATA SAS

【SAS】DATAステートメントは複数データセットを出力できる。

投稿日:

今回はDATAステートメントで複数データセットを出力する方法について解説します。


/* data2 data3_1 */
data data1 ;
  id1="1111"; id2="1111"; id3="1111";
    output;
  id1="2222"; id2="2222"; id3="2222";
    output;
  id1="3333"; id2="3333"; id3="3333";
    output;
run;


data data2 data3 ; set data1;
  if id1="1111" then output data2;
  else output data3;
run;

よくあるif文で出力先を分岐させる文法です。

/* data2 data3_2 */
data data1 ;
  id1="1111"; id2="1111"; id3="1111";
    output;
  id1="2222"; id2="2222"; id3="2222";
    output;
  id1="3333"; id2="3333"; id3="3333";
    output;
run;


data data2 data3 ; set data1;
run;

if文を使わなくても、dataステートメントに複数データセットを設定することができます。

この場合、設定した出力先全てに、同じ内容が出力されます。

当たり前なことなのですが、私は最近まで知りませんでした。(if文とセットで使うものだと思っていました。)

-DATA, SAS

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】YYYY-MM表記にする方法【SUBSTR】【||】

今回はYYYYMMDD表記の年月日をYYYY-MM表記にしたいと思います。 結論:SUBSTRと||を使います。 (SUBSTR:【SAS】SUBSTR関数は文字列から指定した文字数分切り取る。 | …

【SAS】PUTN関数は数値に対して出力形式を指定して変換する。

今回はPUTN関数について解説します。 /* putn_point. */ proc format; value point 1-50=’Low’ 51-100=’High’; run; data d …

【SAS】TIME関数はSAS時間値を取得する。

今回はTIME関数について解説します。 /* time_1 */ data data1; Id1 = time(); run; time()により、SAS時間値を取得する。 /* time_2 */ …

【SAS】UPCASE関数は文字列を大文字化する。

今回はUPCASE関数について解説します。 /* upcase */ data data1; Id1=1111; char1=”US”; char2=”aaa”; output; Id1=2222; …

【SAS】SASで良く使うテクニック。その3 「Ctrl+D」~データセットのオブザベーション数が多いとき~【Excel】

今回はSASで良く使うテクニックということで、データセットのオブザベーション数(行数)が多いときは「Ctrl+D」が役に立つ理由を解説していきます。 (参考:【SAS】SASで良く使うテクニック。その …