今回はWHEREステートメントについて解説します。
/* 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 in (1111, 2222, 3333);
run;
![](https://how-to-business.com/wp-content/uploads/2021/12/where1.png)
![](https://how-to-business.com/wp-content/uploads/2021/12/where2.png)
- whereを用いて処理条件を設定できる。
- or条件を簡略して記載できる。
/* where 条件1つ */
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 in (1111);
run;
![](https://how-to-business.com/wp-content/uploads/2021/12/bbbc99c5baaa877213f5b3b27d579645.png)
![](https://how-to-business.com/wp-content/uploads/2021/12/faceea2167a815ce0290aceaf08ef434.png)
- whereを用いて処理条件を設定できる。
- or条件を簡略して記載できる。(条件が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 Char1 in ("AAAA", "BBBB", "CCCC");
run;
![](https://how-to-business.com/wp-content/uploads/2021/12/14d026d84ae2ba759ef1704c3a69c290.png)
![](https://how-to-business.com/wp-content/uploads/2021/12/d3e0301b1ff3ea859f676b82110425d4.png)
- whereを用いて処理条件を設定できる。
- or条件を簡略して記載できる。
- 文字列型でも設定できる。
/* 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 in ("AAAA", "BBBB", "CCCC");
run;
![](https://how-to-business.com/wp-content/uploads/2021/12/4e6c7bd829981afa1addc79c66333281.png)
![](https://how-to-business.com/wp-content/uploads/2021/12/86157c60e507e671b33bef1b4c93b952.png)
- whereを用いて処理条件を設定できる。
- or条件を簡略して記載できる。
- 文字列型でも設定できる。
- 型が合っていないとエラーとなる。
/* 5555,6666,7777 */
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 in (5555, 6666, 7777);
run;
![](https://how-to-business.com/wp-content/uploads/2021/12/555566667777-1.png)
![](https://how-to-business.com/wp-content/uploads/2021/12/555566667777-2.png)
- whereを用いて処理条件を設定できる。
- or条件を簡略して記載できる。
- 条件に合う値が無いと0レコードのデータセットが出力される。
/* where or */
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 or Id1=2222 or Id1=3333;
run;
![](https://how-to-business.com/wp-content/uploads/2021/12/where-or_1.png)
![](https://how-to-business.com/wp-content/uploads/2021/12/where-or_2.png)
- whereを用いて処理条件を設定できる。
- or条件を簡略せずに、通常通り記載することもできる。
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 and Char1="AAAA";
run;
![](https://how-to-business.com/wp-content/uploads/2021/12/where-and_1.png)
![](https://how-to-business.com/wp-content/uploads/2021/12/where-and_2.png)
- whereを用いて処理条件を設定できる。
- if文と同様、andも使える。
/*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 in (1111, 2222, 3333);
where Id1 in (1111, 4444);
run;
![](https://how-to-business.com/wp-content/uploads/2021/12/8ecfa9780f39246ec4efb422753b010f.png)
![](https://how-to-business.com/wp-content/uploads/2021/12/f34845c046103a24b339d6e1e1f98487.png)
- whereを用いて処理条件を設定できる。
- or条件を簡略して記載できる。
- where文が複数あるとき、最後のwhere文が優先される。