INPUT SAS

【SAS】INPUTは文字型を数値型に変換する

投稿日:2021年10月24日 更新日:

今回はINPUTについて解説します。


/*8桁*/
data work.a;
  a = input("20061228", 8.);
run;

  • 文字型⇒数値型への変換はinputを使う。
  • 文字型”20061228″⇒数値型20061228になっている。
  • 8.で8桁入っている。

/*9桁*/
data work.a;
  a = input("200612288", 8.);
run;
  • 文字型⇒数値型への変換はinputを使う。
  • 文字型”200612288″⇒数値型20061228になっている。
  • 8.で8桁入っている。
  • 8桁しか入らないため、最後の8は落ちている。

/*7桁*/
data work.a;
  a = input("2006122", 8.);
run;

  • 文字型⇒数値型への変換はinputを使う。
  • 文字型”2006122″⇒数値型2006122になっている。
  • 8.で8桁入っている。

/*数値8桁*/
data work.a;
  a = input(20061228, 8.);
run;
  • 文字型⇒数値型への変換はinputを使う。
  • 数値型20061228⇒数値型2006になっている(?)
  • inputは元々が数値型の場合には対応していない。

/*数値16桁*/
data work.a;
  a = input(2006122820061228, 8.);
run;

  • 文字型⇒数値型への変換はinputを使う。
  • 数値型2006122820061228⇒数値型2.006122になっている(?)
  • inputは元々が数値型の場合には対応していない。

/*数値に変換できない1*/
data work.a;
  a = input("b", 8.);
run;

  • 文字型⇒数値型への変換はinputを使う。
  • 文字型”b”⇒数値型NULLになっている。
  • 数値に変換できない文字列の場合は中身がNULLになる。

/*数値に変換できない2*/
data work.a;
  a = input("あいうえお", 8.);
run;

  • 文字型⇒数値型への変換はinputを使う。
  • 文字型”あいうえお”⇒数値型NULLになっている。
  • 数値に変換できない文字列の場合は中身がNULLになる。

/*数値+日本語*/
data work.a;
  a = input("123あいうえお", 8.);
run;

  • 文字型⇒数値型への変換はinputを使う。
  • 文字型”123あいうえお”⇒数値型NULLになっている。
  • 一部でも数値に変換できない文字列がある場合には中身はNULLになる。

/*007*/
data work.a;
  a = input("007", 8.);
run;
  • 文字型⇒数値型への変換はinputを使う。
  • 文字型”007″⇒数値型7になっている。
  • 数値で007にできないため、7になる。

/*変数に数値*/
data work.a;
  b = "007";
  c = input(b, 8.);
run;

  • 文字型⇒数値型への変換はinputを使う。
  • 文字型”007″⇒数値型7になっている。
  • 数値で007にできないため、7になる。
  • inputには変数bを設定できる。

/*best.8桁*/
data work.a;
  a = input("20061228", best.);
run;

  • 文字型⇒数値型への変換はinputを使う。
  • 文字型”20061228″⇒数値型20061228になっている。
  • best.により最適化され、8桁入っている。

/*best.9桁*/
data work.a;
  a = input("200612288", best.);
run;

  • 文字型⇒数値型への変換はinputを使う。
  • 文字型”200612288″⇒数値型200612288になっている。
  • best.により最適化され、9桁入っている。

/*best.7桁*/
data work.a;
  a = input("2006122", best.);
run;

  • 文字型⇒数値型への変換はinputを使う。
  • 文字型”2006122″⇒数値型2006122になっている。
  • best.により最適化され、7桁入っている。

-INPUT, SAS

執筆者:


comment

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

関連記事

【SAS】COMPRESSオプションでデータセットを圧縮できる(パフォーマンスも向上するかも)

今回はCOMPRESSオプションでデータセットを圧縮する方法について解説していきたいと思います。 まずは、通常のデータセットから。 /* 非圧縮 */ data data1; id1=”1111”; …

【SAS】INTCK関数を使って年齢計算をする。【PUT】【SUBSTR】【IF】

今回はINTCK関数を使って、年齢計算を行う方法について解説していきたいと思います。 併わせて読みたい記事 (INTCK:【SAS】INTCK関数は指定された区間に指定された単位を何回跨ぐか数える。 …

【SAS】SASで日付を扱う(年月日)【”d】 【YEAR()】【MONTH()】【DAY()】【MDY()】

今回は日付を用いた様々な操作について解説します。  /*”d*/ data data1; Id1 = ’03jan2022’d; run; ’03jan2022’d …

【SAS】FREQプロシージャは頻度集計とクロス集計をする その2【LIST】【CROSSLIST】【NOROW】【NOCOL】

今回はFREQプロシージャにオプションを用いた場合について解説します。  FREQプロシージャの基本的な使い方については過去記事で解説しています。⇒【SAS】FREQプロシージャは頻度集計とクロス集計 …

【SAS】SASで良く使うテクニック。その12「Ctrl+F」「Ctrl+R」~特定の文字列を検索、置換~【サクラエディタ】

今回はSASで良く使うテクニックということで、特定の文字列を検索、置換したい時は、「Ctrl+F」「Ctrl+R」が役に立つ理由を解説していきます。 以下のようにテーブルがあったとします。(参考:【S …