今回はSCAN関数について解説します。
/* "1111","2222","3333" */
data data1;
Id1="1111","2222","3333";
run;
data data2; set data1;
Id2=scan(Id1,2,",");
run;
![](https://how-to-business.com/wp-content/uploads/2021/12/111122223333_1.png)
![](https://how-to-business.com/wp-content/uploads/2021/12/111122223333_2.png)
- scanによりカンマ区切りの文字列の一部を抜き出せる。
/* ("1111,2222,3333") */
data data1;
Id1=("1111,2222,3333");
run;
data data2; set data1;
Id2=scan(Id1,2,",");
run;
![](https://how-to-business.com/wp-content/uploads/2021/12/111122223333_1-1.png)
![](https://how-to-business.com/wp-content/uploads/2021/12/111122223333_2-1.png)
- scanによりカンマ区切りの文字列の一部を抜き出せる。
- (“〇〇〇〇”)でも結果は変わらない。
/* 4 */
data data1;
Id1="1111,2222,3333";
run;
data data2; set data1;
Id2=scan(Id1,4,",");
run;
![](https://how-to-business.com/wp-content/uploads/2021/12/4_1.png)
![](https://how-to-business.com/wp-content/uploads/2021/12/4_2.png)
- scanによりカンマ区切りの文字列の一部を抜き出せる。
- 存在するよりも大きい数を与えた場合、中身は欠損値になる。
/* 0 */
data data1;
Id1="1111,2222,3333";
run;
data data2; set data1;
Id2=scan(Id1,0,",");
run;
![](https://how-to-business.com/wp-content/uploads/2021/12/0_1.png)
![](https://how-to-business.com/wp-content/uploads/2021/12/0_2.png)
- scanによりカンマ区切りの文字列の一部を抜き出せる。
- 0を設定した場合、中身は欠損値になる。