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】計算で求められた変数に対するIFとWHEREの振舞いの違い【SAS Base Programming対策1】

/* where id3 */ data data1; id1=1111; id2=1111; id3=1111; output; id1=2222; id2=2222; id3=2222; outp …

WORKライブラリをLIBNAMEで自動的に割り当てる方法を考察【PATHNAME】【%SYSFUNC】

今回はWORKライブラリをLIBNAMEで自動的に割り当てる方法を考察していきたいと思います。 workライブラリはlibnameを使ってlib_1のようにライブラリ名を割り当てる事ができます。 /* …

【SAS】SASで良く使うテクニック。その9 「Alt+E+S+V+E」~縦横の並び替えを行いたいとき~【Excel】

今回はSASで良く使うテクニックということで、縦横の並び替えを行いたい時は、「Alt+E+S+V+E」が役に立つ理由を解説していきます。 具体的な使用場面は、 データセットの場合、カラムは横並びですが …

【SAS】”nは本来使用できない文字を使用可能にする。

今回は”nについて解説します。(参考:Solved: what the ”  ‘n ” means? – SAS Support Commu …

【SAS】PUTLOGステートメントは文字列をログに出力する。

今回はPUTLOGについて解説します。 /* putlog_1 */ data _null_; putlog ‘2022/03/26’; run; putlogにより、ログに文字列を出力できる。%pu …