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】「NOTE: PROC SQLはNOEXECオプションを設定し、ステートメントの構文をチェックします。」の対処法

今回はSQLプロシージャを実行した際に、NOEXECオプションを使用していないにも関わらず、 勝手にNOEXECオプションが有効になってしまう場合の対処法について解説します。 結論:構文エラーを正す。 …

【SAS】&SYSUSERID.はログインIDを取得する自動マクロ変数

今回は&SYSUSERID.について解説します。 /* &sysuserid. */ %put &sysuserid.; &sysuserid.はログインIDを自動マク …

【SAS】SETステートメントに複数データセットを設定すると縦結合できる

今回はSETについて解説します。 /* 1~7 */ data data1; Id1=1111; Char1=”AAAA”; output; Id1=2222; Char1=”BBBB”; outpu …

【SAS】ABORTは実行を強制終了させる

今回はABORTについて解説します。 /*abort*/ data data1; id=”A”; chiku=”SHINJUKU”; output; id=”B”; chiku=”ICHIGAYA”; …

【SAS】WORKライブラリの性質について解説

今回はWORKライブラリについて解説します。 libnameを使わなくてもデフォルトで存在するライブラリです。 そのため、libnameを使わずにworkライブラリを使用することができます。 /* l …