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】【SQL】SQLにおける複数テーブルの結合 その1【UNION ALL】【Snowflake】

今回は複数テーブルの結合について解説します。 /* 複数テーブルの結合_1 */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; …

【SAS】IFステートメントは処理を分岐できる。その4~THEN DO, ELSE DO~【END】

今回はIF文の分岐で、複数の命令を実行する方法について、解説していきます。 【併せて読みたい記事】 【SAS】IFステートメントは処理を分岐できる。その1 | ビジネスイッチ (how-to-busi …

【SAS】^=(ノットイコール)

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

【SAS】TRIM関数は文字列の連結時に末尾のスペースを除去できる。

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

【SAS】ORDER BY句無しで抽出した際の出力順【SQL】

この記事の要約:「ORDER BYを使わない場合、SQLで抽出した際の並び順は保証されない」 SQL文で抽出を行った際に、困ったことが起きました。 同じPG文なのに1回目と2回目で出力結果に違いがある …