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】INPUTは文字型を数値型に変換する

今回はINPUTについて解説します。 /*8桁*/ data work.a; a = input(“20061228”, 8.); run; 文字型⇒数値型への変換はinputを使う。文字型&#822 …

【SAS】INTCK関数は指定された区間に指定された単位を何回跨ぐか数える。

data data1; Id1 =intck(“YEAR”, ’31Dec2019’d, ‘1Jan2020’d); run; 2019/12/31~2020/1/1の間に年を何回跨ぐか数える。 /* …

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

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

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

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

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

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