Sas で intck 関数を使用する方法 (例付き)


SAS のINTCK関数を使用すると、SAS の 2 つの日付の差をすばやく計算できます。

この関数は次の基本構文を使用します。

INTCK (間隔、開始日、終了データ、メソッド)

金:

  • 間隔: 計算する間隔 (日、週、月、四半期、年など)
  • 開始日: 開始日
  • 終了日: 終了日
  • method : 離散または連続方法を使用して間隔をカウントします。

次の例は、この関数を実際に使用する方法を示しています。

例: INTCK 関数を使用して SAS の日付間の差異を計算する

SAS に 2 つの日付変数を含む次のデータセットがあるとします。

 /*create dataset*/
data original_data;
    format start_date end_date date9. ;
    input start_date: date9. end_date: date9. ;
    datalines ;
01JAN2022 09JAN2022
01FEB2022 22FEB2022 
14MAR2022 04APR2022
01MAY2022 14AUG2023
06AUG2022 10NOV2024
;
run ;

/*view dataset*/
proc print data = original_data; 

次のコードを使用して、 start_date変数とend_date変数の値の差を日、週、月、四半期、年単位で計算できます。

 /*create new dataset*/
data new_data;
    set original_data;
    days_diff = intck (' day ', start_date, end_date);
    weeks_diff = intck (' weeks ', start_date, end_date);
    months_diff = intck (' months ', start_date, end_date);
    qtr_diff = intck (' qtr ', start_date, end_date);
    years_diff = intck (' years ', start_date, end_date);
run ;

/*view new dataset*/
proc print data = new_data; 

SAS の INTCK 関数

5 つの新しい変数は、 start_dateend_dateの差を日、週、月、四半期、年で示します。

INTCK関数で ‘ c ‘ 引数を使用すると、丸日、週、月、四半期、年単位での差のみを計算できることに注意してください。

 /*create new dataset*/
data new_data;
    set original_data;
    days_diff = intck (' day ', start_date, end_date, ' c ');
    weeks_diff = intck (' weeks ', start_date, end_date, ' c ');
    months_diff = intck (' months ', start_date, end_date, ' c ');
    qtr_diff = intck (' qtr ', start_date, end_date, ' c ');
    years_diff = intck (' years ', start_date, end_date, ' c ');
run ;

/*view new dataset*/
proc print data = new_data; 

この表と前の表の違いに注目してください。

この表では、1 月 1 日と 1 月 9 日の間の週数の差は、これらの日付の間に丸 1 週間しか収まらないため、 1として計算されます。

ただし、前の表では、これら 2 つの日付の間に部分的な週が2 つあったため、週数の差は 2で計算されました。

追加リソース

次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。

SAS で DateTime を日付に変換する方法
SAS で日付に日数を追加する方法
SAS で日付から曜日を取得する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です