前のページ|次のページ

HOLIDAYNX関数

date引数に対して祝日のn番目の出現日を返します。

カテゴリ: 日付と時間

構文

HOLIDAYNX('holiday',date<,n<,'locale'>>)

必須引数

'holiday'

次の表に記載されているいずれかの値を指定する文字定数、変数または式です。holidayの変数も、DATEKEYSプロシジャを使用して定義し、EVENTDS=システムオプションを使用して関数で利用できます。

祝日の値とその説明
祝日の値
説明
祝日の日付
BOXING
ボクシングデー
12月26日
CANADA
カナダの独立記念日
7月1日
CANADAOBSERVED
カナダの独立記念日の祝日
7月1日または7月2 (7/1が日曜日の場合)
CHRISTMAS
クリスマス
12月25日
COLUMBUS
コロンブス記念日
10月の第2月曜日
EASTER
復活の主日
毎年変わる
FATHERS
父の日
6月の第3日曜日
HALLOWEEN
ハロウィーン
10月31日
LABOR
労働祭
9月の第1月曜日
MLK
マーティンルーサーキング牧師の誕生日
1986以降の1月の第3月曜日
MEMORIAL
メモリアルデー
5月の最終月曜日(1971以降)
MOTHERS
母の日
5月の第2日曜日
NEWYEAR
元日
1月1日
THANKSGIVING
U.S. 感謝祭
11月の第4木曜日
THANKSGIVINGCANADA
カナダ感謝祭
10月の第2月曜日
USINDEPENDENCE
U.S. 独立記念日
7月4日
USPRESIDENTS
大統領記念日の祝日
2月の第3月曜日(1971以降)
VALENTINES
バレンタインデー
2月14日
VETERANS
退役軍人の日
11月11日
VETERANSUSG
退役軍人の日(米国政府の祝日)
月曜日から金曜日までにスケジュールされる米国政府の祝日
VETERANSUSPS
退役軍人の日(米国郵政公社の祝日)
月曜日から日曜日までにスケジュールされる米国政府の祝日(米国郵政公社)
VICTORIA
ビクトリアデー
5月24日以前の直近の月曜日

date

開始日の値を‘ddmonyy’Dまたは‘ddmonyyyy’Dの形式で指定します。

dd は、月の日にちを表す2桁の整数です。
mon は、次に示す月を表す3文字の文字列です。JAN、FEB、MAR、APR、MAY、JUN、JUL、AUG、SEP、OCT、NOV、DEC。
yyまたはyyyy は、年を表す2桁または4桁の整数です。2桁のみを使用する場合は、YEARCUTOFF=オプションを有効にします。

オプション引数

n

祝日の出現日がその日付の前であるか、後であるかを示す番号を指定します。nに0を指定すると、その日付またはその日付の直前の出現日を指定できます。nに1を指定すると、その日付の直後の次の出現日を指定できます。

'locale'

POSIXロケール値を指定します。ENCODING、PAPERSIZE、DFLANG、DATESTYLEオプションのLOCALE=値とデフォルト設定 (SAS各国語サポート(NLS):リファレンスガイド)を参照してください。

詳細

locale引数はオプションであり、POSIXロケール文字列である必要があります。localeを指定すると、DATEKEYSプロシジャを使用して祝日の日付キーを定義する必要があります。ロケールを指定した場合は、EVENTDS=オプションを使用して、指定したロケールを持つ日付キーか、ロケールが定義されていない日付キーのみを利用できます。

次の例では、祝日のn番目の出現日を指定します。
data holidays;
input holiday $char18.;
datalines;
Easter
Christmas
;
run;
proc print;run;
data WhenIs;
     set holidays;
     Today='25DEC2013'D;
     put Today=;
     put holiday=;
     NextHoliday = HOLIDAYNX(holiday,today,1);
     PreviousHoliday = HOLIDAYNX(holiday,NextHoliday,-1);
     if ( PreviousHoliday = today ) then do;
         ThisDayIs=holiday;
         put ThisDayIs=;
         PreviousHoliday = HOLIDAYNX(holiday,today,-1);
     end;
     put PreviousHoliday=;
     put NextHoliday=;
     format Today NextHoliday PreviousHoliday DATE.;
run;
Today=25DEC13 holiday=Easter PreviousHoliday=31MAR13 NextHoliday=20APR14 Today=25DEC13 holiday=Christmas ThisDayIs=Christmas PreviousHoliday=25DEC12 NextHoliday=25DEC14
前のページ|次のページ|ページの先頭へ