今回は、データ入力に着目して、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;
![](https://how-to-business.com/wp-content/uploads/2024/02/if_1.png)
![](https://how-to-business.com/wp-content/uploads/2024/02/if_2.png)
![](https://how-to-business.com/wp-content/uploads/2024/02/if_3.png)
- 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;
![](https://how-to-business.com/wp-content/uploads/2024/02/where_1-1.png)
![](https://how-to-business.com/wp-content/uploads/2024/02/where_2.png)
![](https://how-to-business.com/wp-content/uploads/2024/02/where_3.png)
- WHERE文は読み込み時にフィルターを掛ける。(1オブザベーション読み込み)
- そのまま出力する。(1オブザベーション出力)