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】SASで良く使うテクニック。その2 「Ctrl+R」~データセットの列数が多いとき~【Excel】

今回はSASで良く使うテクニックということで、データセットの列数が多いときは「Ctrl+R」が役に立つ理由を解説していきます。 データセットのコンペアを行う場面を想定します。 先に以下の2記事を読んで …

【SAS】FREQプロシージャは頻度集計とクロス集計をする

今回はFREQプロシージャについて解説します。 /* freq 頻度集計 */ data data1; 番号=”AAAAAA”; コード=”02″; 金額=1999; output; 番号=”AAAA …

【SAS】%MACROはマクロを定義することができる。その2 同名マクロによる再定義【%MEND】

今回は同名マクロによる再定義について解説していきたいと思います。(前回の記事:【SAS】%MACROはマクロを定義することができる。【%MEND】 | ビジネスイッチ (how-to-business …

【SAS】UPCASE関数は文字列を大文字化する。

今回はUPCASE関数について解説します。 /* upcase */ data data1; Id1=1111; char1=”US”; char2=”aaa”; output; Id1=2222; …

【SAS】VERIFYは引数の文字を含まない最初の位置を返す

今回はVERIFYについて解説します。 /*正常形*/ data data1; Id1=”AAAA”; output; Id1=”ABAB”; output; Id1=”ABCD”; output; …