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】列名と列ラベルの表示を切り替える方法【LABEL】

今回はデータセットにおける列名と列ラベルの表示を切り替える方法を解説します。 /* label */ data data1; attrib Id1 length = 8 label = “Id1111 …

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

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

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

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

【SAS】%PUTステートメントは文字列をログに出力する。その1

今回は%PUTについて解説します。 /* %put */ %put CHAR; %putにより、文字列をログに出力できる。 /* %let */ %let CHAR = aaaa ; %put &am …

【SAS】DATAステートメントは複数データセットを出力できる。

今回はDATAステートメントで複数データセットを出力する方法について解説します。 /* data2 data3_1 */ data data1 ; id1=”1111″; id2=”1111″; id …