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】FORMATプロシージャはフォーマットルールを定義し、値を書き換える。その2

今回もFORMATプロシージャについて解説します。 前回は値の範囲によって、定義されたフォーマットルールに従い、値を書き換えるという内容でした。 【SAS】FORMATプロシージャはフォーマットルール …

【SAS】サブクエリについて解説

今回はSQLのfrom句にサブクエリを使用した場合の動きについて、解説します。 [from句] まずは通常のSQLプロシージャから。 /* サブクエリ(from句_1) */ data data1; …

【SAS】データセットのエンコードを答えさせる問題【CONTENTS】【SAS Base Programming対策7】

今回はデータセットのエンコードを答えさせる問題について解説します。SAS Base Programming試験を受けたときに出題されました。 data data1; Id1=1111; Id2=111 …

【SAS】INTNX関数は指定期間の条件を満たす日付けを返す。

今回はINTNX関数について解説します。 /* intnx_1 */ data data1; Id1 = intnx(“YEAR”,’16jan2022’d,1); format Id1 yymmdd …

【SAS】SASUSERライブラリの性質について解説

今回はSASUSERライブラリについて解説します。(対比参考:【SAS】WORKライブラリの性質について解説 | ビジネスイッチ (how-to-business.com)) libnameを使わなく …