IF SAS WHERE

【SAS】IF文はデータ読み込み後にフィルター、WHERE文はデータ読み込み時にフィルターをする。

投稿日:

今回は、データ入力に着目して、IF文とWHERE文の違いを解説します。


/* if */
data data1;
  Id1=1111; Char1="AAAA";
    output;
  Id1=2222; Char1="BBBB";
    output;
  Id1=3333; Char1="CCCC";
    output;
  Id1=4444; Char1="DDDD";
    output;
run;


data data2; set data1;
  if Id1=1111;
run;
  1. IF文は全てのオブザベーションを読み込む。(4オブザベーション読み込み)
  2. 読み込み後、フィルターを掛け、出力する。(1オブザベーション出力)

/* where */
data data1;
  Id1=1111; Char1="AAAA";
    output;
  Id1=2222; Char1="BBBB";
    output;
  Id1=3333; Char1="CCCC";
    output;
  Id1=4444; Char1="DDDD";
    output;
run;


data data2; set data1;
  where Id1=1111;
run;
  • WHERE文は読み込み時にフィルターを掛ける。(1オブザベーション読み込み)
  • そのまま出力する。(1オブザベーション出力)

-IF, SAS, WHERE

執筆者:


comment

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

関連記事

【SAS】PUTは数値型を文字型に変換する

今回はPUTについて解説します。 /*数値8桁*/ data work.a; a = put(20061228, 8.); run; 数値型⇒文字型への変換はputを使う。数値型20061228⇒文字 …

【SAS】SUBSTR関数を使って右から文字列を切り取る方法について解説【LENGTHN】

今回はSUBSTR関数を使って右から文字列を切り取る方法について解説します。 (参考:【SAS】SUBSTR関数は文字列から指定した文字数分切り取る。 | ビジネスイッチ (how-to-busine …

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

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

【SAS】SORTプロシージャはBYで指定した変数で並べ替える その1 昇順

今回はSORTプロシージャについて解説します。 /*sort1*/ data data1; id1=”1111″; id2=”1111″; output; id1=”1111″; id2=”2222″ …

【SAS】SAS Studioのフィルター機能の使い方を解説 その1 ~文字型~

今回はSAS Studioのフィルター機能について解説します。 /* 文字型 */ data data1; id1=”1111″; id2=”1111″; id3=”1111″; output; id …