2桁の年で2000年以降とするために

[OS]ALL
[リリース] 6.07, 6.08, 6.09, 6.10
[キーワード] base, system, option, yearcutoff=, year, date, 2000

[質問]

SAS日付値では年部分を西暦の下2桁で入力できます。例えば'94'を指定すると1994年になり、'00'は1900年になります。 '00'を2000年として扱う方法はありませんか。

[回答]

2桁で与えた年の値をどう扱うかは、SASシステムオプションの「YEARCUTOFF=nnnn」で制御できます。
たとえば「YEARCUTOFF=1950」と指定すると、1950年から2049年までの100年間を2桁で指定できるようになります。

つまり「50〜99」は1950年から1999年を、 「00〜49」までは2000年から2049年を表すと解釈されます。
「YEARCUTOFF=」はSASシステムオプションなので、SAS日付値に関するフォーマット、インフォーマット、関数などのすべてに働きます。 なお、SAS日付値では1582年から19900年までの年を扱えます。 2000年以降のデータを含む日付値を読み込むプログラムの例を示します。

options yearcutoff=1950;
  data test;
    input date;
    informat date yymmdd6.;
  cards;
  001014
  ;
  proc print data=test;
    format date yymmdd10.;
  run;
上記のプログラムを実行すると、以下のような結果が得られます。
  OBS          DATE
   1     2000-10-14

[参考]

  • 「SASランゲージガイド, Version 6, First Edition」(注文番号 1051)