950906というような数値変数を、SAS日付値に変換する方法

[OS]ALL
[リリース]
[キーワード] Base SAS,SAS DATE

[質問]

950906というような数値変数を、SAS日付値に変換する方法を教えて下さい。

[回答]

数値変数をSAS日付値に変換するには、PUT関数で数値を文字値に変換し、その後INPUT関数を用いて、SAS日付値に変換します。

data date;
  input date1;
  cards;
    950906
    950907
    950908
    950909
  ;
run;
上記のプログラムによって、日付が数値変数としてSASデータセットになっている場合、 次のプログラムでSAS日付値に変換できます。
data  sasdate;
  set date;
  /* 数値変数date1をSAS日付値date2に変換する */
  date2 = input(put(date1,6.), yymmdd6.);
run;

proc print data=sasdate;
   format date2 yymmdd8.;
run;