「Jan-03」のようなデータをSAS日付値に変換する

[OS] ALL
[リリース] 8.2
[キーワード] SAS DATE, MONYY, INFORMAT

[質問]

「Jan-03」(2003年1月)のように、日付の値がないデータをSAS日付値として読み込みたいと考えています。
この場合、値を文字列として読み込み、「01-Jan-03」のようにデータを加工した後、INPUT関数を使用しなければならないでしょうか。

[回答]

MONYYインフォーマットを利用することで、「Jan-03」のようなデータを、直接SAS日付値として読み込むことが可能です。下記に例を示します。


DATA sample;
   INPUT date monyy6.;          /* monyyインフォーマットを利用 */
   FORMAT date yymmdd10.;
   PUT date;
CARDS;
Jan-03
Feb-03
Mar-03
Apr-03
May-03
;
RUN;

上記プログラムを実行した際の、SASログへの出力結果は次のとおりです。


2003-01-01
2003-02-01
2003-03-01
2003-04-01
2003-05-01

ログへの出力結果で確認されるように、日付の値がないデータを読み込む場合、SASはその値を1日とします。