INPUT SAS

【SAS】INPUTは日付表記をSAS日付に変換できる

投稿日:2022年1月5日 更新日:

今回はINPUT関数を使って日付表記をSAS日付に変換する方法について解説します。 


/* "2022/01/04" */
data data1;
  a = "2022/01/04";
  b = input(a, yymmdd10.);
run;

  • 文字型⇒数値型
  • 文字型”2022/01/04″⇒数値型22649になっている。
  • 文字型⇒数値型の動き+日付形式⇒SAS日付に表記変換する動き

/* today() */
data data1;
  a = today();
  b = input(a, yymmdd10.);
run;

  • 数値型⇒数値型
  • 数値型22649⇒数値型nullになっている。

/* 22649 */
data data1;
  a = 22649;
  b = input(a, yymmdd10.);
run;

  • 数値型⇒数値型
  • 数値型22649⇒数値型nullになっている。

/* 22649 */
data data1;
  a = "22649";
  b = input(a, yymmdd10.);
run;

  • 文字型⇒数値型
  • 文字型”22649″⇒数値型nullになっている。
  • 第一引数が文字型でもyymmdd10形式でなければnullになってしまう。

/* 2022/01/04 */
data data1;
  a = 2022/01/04;
  b = input(a, yymmdd10.);
run;

  • 数値型⇒数値型
  • 数値型505.5⇒数値型nullになっている。
  • 2022/01/04を数値で入れようとしても、計算式として認識されてしまう。
  • 2022/01/04を入れても、日付形式に変換されない。

-INPUT, SAS

執筆者:


comment

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

関連記事

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

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

【SAS】MEANSも集計に便利(デフォルトで結果を出力)【NOPRINT】

今回はMEANSについて解説します。 似た文法でSUMMARYプロシージャがあります。 【SAS】SUMMARYは集計に便利 今回のMEANSプロシージャも集計を行うのですが、こちらはデフォルトで「結 …

【SAS】%SYSFUNC関数はデータステップの外でも関数を使えるようにする。その2(%LETステートメント中の挙動)

今回は%SYSFUNC関数について、%LETステートメント中の挙動に着目して解説します。 /* substr */ %let a = substr(123456789, 2, 4); data dat …

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

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

【SAS】TRANSPOSEは縦持ち、横持ちを変換できる。その1

今回はTRANSPOSEについて解説します。 /* num char char */ data data1; NO=1111; CHAR=”A”; MOJI=”AAAA”; output; NO=22 …