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】COMPRESS関数は文字列の空白を削除し、詰める。(COMPRESS関数 その1)

今回はCOMPRESS関数について解説します。 /* compress */ data data1; Id1=1111; Char1=”AA AA”; output; Id1=2222; Char1= …

【SAS】FIRST, LASTは重複を削除しユニーク化する

今回はfirst, lastについて解説します。 /*first last1*/ data data1; 番号=”1111″; 日付=”20210331″; output; 番号=”1111″; 日付 …

【SAS】%SYSFUNC関数はデータステップの外でも関数を使えるようにする。その2(%LETステートメント中の挙動)

今回は%SYSFUNC関数について、%LETステートメント中の挙動に着目して解説します。 /* substr */ %let a = substr(123456789, 2, 4); data dat …

【SAS】SASで良く使うテクニック。その7 「条件付き書式」~差分があるセルに色を付けたい時~【Excel】

今回はSASで良く使うテクニックということで、データセットのコンペアにおいて、差分があるセルに色を付けたい時ときは「条件付き書式」が役に立つ理由を解説していきます。 (参考:【SAS】SASで良く使う …

【SAS】「NOTE: PROC SQLはNOEXECオプションを設定し、ステートメントの構文をチェックします。」の対処法

今回はSQLプロシージャを実行した際に、NOEXECオプションを使用していないにも関わらず、 勝手にNOEXECオプションが有効になってしまう場合の対処法について解説します。 結論:構文エラーを正す。 …