今回は、データ入力に着目して、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;
- IF文は全てのオブザベーションを読み込む。(4オブザベーション読み込み)
- 読み込み後、フィルターを掛け、出力する。(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オブザベーション出力)