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】%MACROはマクロを定義することができる。その4 引数違いの同名マクロは区別できない。【%MEND】

今回は引数違いの同名マクロについて解説していきたいと思います。(事前に読んでおきたい記事:【SAS】%MACROはマクロを定義することができる。その3 マクロには引数を設定できる。【%MEND】 | …

【SAS】0による除算【SAS Base Programming対策3】

今回は0による除算(割り算)を解説します。 数学では「0で割れない」とか、極限の単元だと「∞に発散する」とか言われますが、SASで0による除算を行うとどうなるのか触れていきます。 知ってるか知らないか …

【SAS】列名と列ラベルの表示を切り替える方法【LABEL】

今回はデータセットにおける列名と列ラベルの表示を切り替える方法を解説します。 /* label */ data data1; attrib Id1 length = 8 label = “Id1111 …

【SAS】IFステートメントは処理を分岐できる。その1

今回はSASのif文について解説していきたいと思います。 【IF文の関連記事】 (明示的、暗黙的OUTPUT:【SAS】OUTPUTとDELETEの「明示的な使い方」「暗黙的な使い方」 | ビジネスイ …

【SAS】CONTENTSプロシージャはデータセットに関する情報を表示する。

今回はCONTENTSプロシージャについて解説します。  /* data1 */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1= …