IF SAS サブセットIF

【SAS】IFステートメントは処理を分岐できる。その3~サブセットIF~

投稿日:

今回はサブセットIFについて解説していきたいと思います。


/* サブセットIF */
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; set data1;
  if id1 = "2222";
  id4 = "2222";
run;
  • if id1 = “2222”;が真のオブザベーションにのみ、id4 = “2222”;の処理を行い、このオブザベーションしか出力しない。

/* then */
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; set data1;
  if id1 = "2222" then  id4 = "2222";
run;
  • thenを使って同じことをしようとしたものの、他のオブザベーションまで出力されているので、再現できてない。

/* output */
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; set data1;
  if id1 = "2222" then output;
  id4 = "2222";
run;
  • then outputを使って同じことをしようとしたものの、id4が欠損しているので、再現できてない。

-IF, SAS, サブセットIF

執筆者:


comment

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

関連記事

【SAS】SCAN関数は区切り文字を認識し、一部を抜き出せる。

今回はSCAN関数について解説します。 /* “1111”,”2222″,”3333″ */ data data1; Id1=”1111″,”2222″,”3333″; run; data data2 …

【SAS】%MACROはマクロを定義することができる。その3 マクロには引数を設定できる。【%MEND】

今回はマクロに引数を設定する方法について解説していきたいと思います。(事前に読んでおきたい記事:【SAS】%MACROはマクロを定義することができる。【%MEND】 | ビジネスイッチ (how-to …

【SAS】COMPRESS関数は文字列の空白を削除し、詰める。(COMPRESS関数 その1)

今回はCOMPRESS関数について解説します。 /* compress */ data data1; Id1=1111; Char1=”AA AA”; output; Id1=2222; Char1= …

【SAS】足し算。その2(SUM関数を用いた計算)

今回はSUM関数を用いた足し算について解説します。  (前回は+演算子を用いた足し算について解説しました。⇒【SAS】足し算。その1(+演算子を用いた計算)) /* sum */ data …

【SAS】SASで良く使うテクニック。その1 Excel関数のIF~2テーブルを比較したいとき~

今回はSASで良く使うテクニックということで、2テーブルを比較するときはExcelでIF関数を使うと良い理由を解説していきます。 ぜひ、やってみてください。 まずは比較したいデータセット2つをExce …