INDEXC SAS

【SAS】INDEXC関数は文字列から特定の文字を探して位置を返す。

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

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


data data1;
  Id1="1111"; Id2="1111"; Id3="1111";
    output;
  Id1="2111"; Id2="2111"; Id3="2111";
    output;
  Id1="2211"; Id2="2211"; Id3="2211";
    output;
  Id1="2221"; Id2="2221"; Id3="2221";
    output;
  Id1="2222"; Id2="2222"; Id3="2222";
    output;
  Id1="3333"; Id2="3333"; Id3="3333";
    output;
run;

data data2; set data1;
  Id4  = indexc(Id1, "1" );
run;

  • INDEXCにより、第二引数を1文字ずつ分解し、文字が第一引数の何文字目に見つかったかを返す。
  • 見つからない場合は0。

/* indexc 12 */
data data1;
  Id1="1111"; Id2="1111"; Id3="1111";
    output;
  Id1="2111"; Id2="2111"; Id3="2111";
    output;
  Id1="2211"; Id2="2211"; Id3="2211";
    output;
  Id1="2221"; Id2="2221"; Id3="2221";
    output;
  Id1="2222"; Id2="2222"; Id3="2222";
    output;
  Id1="3333"; Id2="3333"; Id3="3333";
    output;
run;

data data2; set data1;
  Id4  = indexc(Id1, "12" );
run;

  • INDEXCにより、第二引数を1文字ずつ分解し、文字が第一引数の何文字目に見つかったかを返す。(1または2を探す)
  • 見つからない場合は0。

-INDEXC, SAS

執筆者:


comment

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

関連記事

【SAS】SUBSTR関数は文字列から指定した文字数分切り取る。その2 再帰的使用

今回はSUBSTR関数の再帰的使用について解説していきます。 /* 再帰的 */ data data1; id1=”123456789″; output; run; data data2; set d …

【SAS】WHEREステートメントはPRINTプロシージャ内で使用ができる。【IFステートメントは使えない】【SAS Base Programming対策6】

/* where */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; Id2=2222; Id3=2222; output; …

【SAS】ATTRIBとRENAMEを同時に使うときの注意点

今回はATTRIBとRENAMEを同時に使うときに注意するべきポイントについて解説していきます。 SAS日付となっているid1をddMONyyyy形式にして、id4とするケースを仮定します。 結論:A …

【SAS】SAS日時値をyyyymmddhhmmss形式にする。【PUT】【DATETIME】【DATEPART】【TOD】

今回はdatetime関数を使って、SAS日時値を取得した後、yyyymmddhhmmss形式に加工する方法を解説していきます。 (参考PUT:【SAS】PUTはSAS日付値をフォーマットを変換して表 …

【SAS】FIRST, LAST↔SORT NODUPKEYの変換

今回はfirst, last↔SORT NODUPKEYの変換について解説します。 結論を先に書くと、変換できる場合、変換できない場合とがあります。 /*sort1*/ data dat …