SAS SCAN

【SAS】SCAN関数は区切り文字を認識し、一部を抜き出せる。

投稿日:2021年12月24日 更新日:

今回はSCAN関数について解説します。


/* "1111","2222","3333" */
data data1;
  Id1="1111","2222","3333";
run;

data data2; set data1;
  Id2=scan(Id1,2,",");
run;

  • scanによりカンマ区切りの文字列の一部を抜き出せる。

/* ("1111,2222,3333") */
data data1;
  Id1=("1111,2222,3333");
run;

data data2; set data1;
  Id2=scan(Id1,2,",");
run;

  • scanによりカンマ区切りの文字列の一部を抜き出せる。
  • (“〇〇〇〇”)でも結果は変わらない。

/* 4 */
data data1;
  Id1="1111,2222,3333";
run;

data data2; set data1;
  Id2=scan(Id1,4,",");
run;

  • scanによりカンマ区切りの文字列の一部を抜き出せる。
  • 存在するよりも大きい数を与えた場合、中身は欠損値になる。

/* 0 */
data data1;
  Id1="1111,2222,3333";
run;

data data2; set data1;
  Id2=scan(Id1,0,",");
run;

  • scanによりカンマ区切りの文字列の一部を抜き出せる。
  • 0を設定した場合、中身は欠損値になる。

-SAS, SCAN

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】ARRAYステートメントは配列を設定することができる。

今回はarrayステートメントについて解説します。 /* array */ data data1; array hairetsu(3) Id1 Id2 Id3; hairetsu(1) = 1111; …

【SAS】KEEPはカラムの選択に使える。

今回はKEEPについて解説していきたいと思います。 DROPと対になる感じで、 DROPが指定したカラムを捨てるのに対し、KEEPは指定したカラムのみ残す動きを取ります。 (参考「DROP」:【SAS …

【SAS】COMPAREはデータセットの比較に便利

今回はCOMPAREについて解説します。 /* 正常形 */ data data1; id=”A”; chiku=”SHINJUKU”; output; id=”B”; chiku=”ICHIGAYA …

【SAS】データセットのオブザベーション数で処理を分岐させる方法【IF】【NOBS】

今回は、データセットのオブザベーション数により、処理を分岐させる方法について解説していきたいと思います。 (参考:【SAS】データセットの有無で処理を分岐させる方法【%IF】【EXIST】 | ビジネ …

【SAS】FORMATはカラムの出力順を制御できる

今回はFORMATについて解説します。 /* format全て指定 */ data data1; id1=”A”; id2=”B”; id3=”C”; id4=”D”; run; data data2 …