ある日付がその月の第何週であるかを算出したい

[OS] ALL
[リリース] ALL
[キーワード] Base, DATA, week of the month, INTNX

[質問]

ある日付がその月の第何週であるかを算出したいのですが、このようなことは可能ですか。

[回答]

はじめにINTNX関数にて月初を算出します。
次にINTCK関数にて2変数間の間隔回数を算出します。

以下のサンプルを参考にしてください。


  DATA sample;                               /* サンプルデータ作成 */
    INPUT date;
    INFORMAT date yymmdd10.;
    FORMAT date yymmdd10.;
  CARDS;
  2005/04/05
  2005/09/02
  2005/09/03
  2005/09/04
  2005/10/03
  ;
  RUN;

  DATA SAMPLE2;
    SET sample;
    mstart=INTNX('MONTH',date,0);                     /* 月初を算出 */
    week=INTCK('WEEK',mstart,date)+1;   /* INTCK(interval,from,to) */
  RUN;