前のページ|次のページ

NWKDOM関数

指定した月および年のn番目に発生する曜日の日付を返します。

カテゴリ: 日付と時間

構文

NWKDOM(n, weekday, month, year)

必須引数

n

指定した日を含む月の週を数値で指定します。

範囲 1–5
ヒント N=5は、指定した日がその月の最終週に発生することを示します。n=4とn=5の結果が同じになる場合もあります。

weekday

週の曜日に対応する数値を指定します。

範囲 1-7
ヒント 日曜日は、週の最初の日として見なされ、weekdayの値は1になります。

年の月に対応する数値を指定します。

範囲 1–12

4桁のカレンダ年を指定します。

詳細

NWKDOM関数は、指定した月および年のn番目の曜日のSAS日付値を返します。DATE9.形式などの有効なSAS日付形式を使用して、カレンダ日付を表示します。月の最後に発生する特定の曜日の場合、n=5を指定できます。
n=5とn=4の結果が同じになる場合もあります。要求された曜日がその月に4回しか発生しない場合にこのような結果になります。たとえば、1月の初日が日曜日の場合、日曜日、月曜日および火曜日は5回発生しますが、水曜日、木曜日、金曜日、土曜日は4回しか発生しません。この場合、水曜日、木曜日、金曜日、土曜日に対してn=5またはn=4を指定すると、結果が同じになります。
その年がうるう年でない場合、2月は28日間あり、週の各曜日は4回発生します。この場合、すべての曜日でn=5とn=4の結果が同じになります。

比較

NWKDOM関数では、weekdayの値は、日曜日から始まる週の曜日の数値に対応しています。この値は、WEEKDAY関数で使用される値と同じで、日曜日=1 (以下同様)になります。monthの値は、1月から始まる年の月の数値に対応します。この値は、MONTH関数で使用される値と同じで、1月=1 (以下同様)になります。
NWKDOM関数を使用して、HOLIDAY関数で定義されていないイベントを計算できます。たとえば、大学の卒業が常に6月の第1土曜日にスケジュールされている場合、次のステートメントを使用してその日付を計算できます。
UnivGrad=nwkdom(1, 7, 6, year);

例1: 日付値を返す

次の例では、NWKDOM関数を使用して、指定した月および年に発生する特定の曜日の日付を返します。
data _null_;
      /* Return the date of the third Monday in May 2012. */
   a=nwkdom(3, 2, 5, 2012);
      /* Return the date of the fourth Wednesday in November 2012. */
   b=nwkdom(4, 4, 11, 2012);
      /* Return the date of the fourth Saturday in November 2012. */
   c=nwkdom(4, 7, 11, 2012);
      /* Return the date of the first Sunday in January 2013. */
   d=nwkdom(1, 1, 1, 2013);
      /* Return the date of the second Tuesday in September 2012. */
   e=nwkdom(2, 3, 9, 2012);
      /* Return the date of the fifth Thursday in December 2012. */
   f=nwkdom(5, 5, 12, 2012);
   put a= weekdatx.;
   put b= weekdatx.;
   put c= weekdatx.;
   put d= weekdatx.;
   put e= weekdatx.;
   put f= weekdatx.;
run;
次の出力がログに書き込まれます。
a=Monday, 21 May 2012 b=Wednesday, 28 November 2012 c=Saturday, 24 November 2012 d=Sunday, 6 January 2013 e=Tuesday, 11 September 2012 f=Thursday, 27 December 2012

例2: 5月の最終月曜日の日付を返す

次の例では、2012年5月の最終月曜日に対応する日付を返します。
data _null_;
      /* The last Monday in May. */
   x=nwkdom(5, 2, 5, 2012);
   put x date9.;
run;
次の出力がログに書き込まれます。
28MAY2012

関連項目:

前のページ|次のページ|ページの先頭へ