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】NLDATE関数はSAS日付値を設定した書式に変換して返す。

今回はNLDATE関数について解説します。 /* nldate_1 */ data data1; Id1 = nldate(’22jan2022’d,’%Y%m%d’); run; nldateにより …

【SAS】ORDER BY句無しで抽出した際の出力順【SQL】

この記事の要約:「ORDER BYを使わない場合、SQLで抽出した際の並び順は保証されない」 SQL文で抽出を行った際に、困ったことが起きました。 同じPG文なのに1回目と2回目で出力結果に違いがある …

【SAS】DATETIME関数はSAS日時値を取得する。

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

【SAS】IFステートメントは処理を分岐できる。その1

今回はSASのif文について解説していきたいと思います。 【IF文の関連記事】 (明示的、暗黙的OUTPUT:【SAS】OUTPUTとDELETEの「明示的な使い方」「暗黙的な使い方」 | ビジネスイ …

【SAS】ROUNDは四捨五入して数値を丸める

今回はROUNDについて解説します。 /* 正常形 */ data work.data1; _100 = round(1234.56789, 100); _10 = round(1234.56789, …