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】PUTC関数は文字列に対して出力形式を指定して変換する。

今回はPUTC関数について解説します。 /* putc_1 */ proc format; value point “aaaa”=’Low’ “bbbb”=’High’; run; data data …

【SAS】INPUTステートメントは再帰的に型変換ができない。

今回はINPUTステートメントの再帰的な型変換について解説します。 (なお、通常のINPUT型変換の使い方は以下の記事で解説しています。⇒【SAS】INPUTは文字型を数値型に変換する) /*再帰的型 …

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

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

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

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

【SAS】DROPオプションの位置による処理の違い

今回はDROPオプションの付き方によって、結果が異なるケースを解説します。 (対比:KEEP 【SAS】KEEPはカラムの選択に使える。 | ビジネスイッチ (how-to-business.com) …