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】DATETIME関数はSAS日時値を取得する。

今回はDATETIME関数について解説します。 /* datetime_1 */ data data1; aaaa = datetime(); run; datetime()はSAS時間値を取得する。 …

【SAS】LIKE演算子は部分一致を表現できる。【WHERE】

/* if ‘%aaaa%’ */ data data1; Id1=1111; Id2=”1aaaa”; Id3=1111; output; Id1=2222; Id2=”bbbb”; Id3=222 …

【SAS】%MACROはマクロを定義することができる。その2 同名マクロによる再定義【%MEND】

今回は同名マクロによる再定義について解説していきたいと思います。(前回の記事:【SAS】%MACROはマクロを定義することができる。【%MEND】 | ビジネスイッチ (how-to-business …

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

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

【SAS】足し算。その3(SUM関数を用いた計算)【of】

今回はSUM関数を用いた足し算で、ofを使った計算について解説します。  (前回はSUM関数を用いた足し算について解説しました。⇒【SAS】足し算。その2(SUM関数を用いた計算) | ビジ …