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】KEEPはカラムの選択に使える。

今回はKEEPについて解説していきたいと思います。 DROPと対になる感じで、 DROPが指定したカラムを捨てるのに対し、KEEPは指定したカラムのみ残す動きを取ります。 (参考「DROP」:【SAS …

【SAS】DISTINCTは重複をユニークにする。【SQL】

今回はSQL文のDISTINCTについて解説します。 /* Id1 */ data data1; Id1=1111; Id2=1111; Id3=1111; Id4=1111; output; Id1 …

【SAS】SASUSERライブラリの性質について解説

今回はSASUSERライブラリについて解説します。(対比参考:【SAS】WORKライブラリの性質について解説 | ビジネスイッチ (how-to-business.com)) libnameを使わなく …

【SAS】SASで良く使うテクニック。その8 「=」~修正前後のプログラムを比較したい時~【Excel】【VBA】

今回はSASで良く使うテクニックということで、修正前後のプログラムを比較したい時は、「=」が役に立つ理由を解説していきます。(このテクニックはコーディングなら、SASに限らず、VBAでも他のどの言語で …

【SAS】0による除算【SAS Base Programming対策3】

今回は0による除算(割り算)を解説します。 数学では「0で割れない」とか、極限の単元だと「∞に発散する」とか言われますが、SASで0による除算を行うとどうなるのか触れていきます。 知ってるか知らないか …