Sas で今日に日数を追加する方法 (例あり)
SAS で変数日付に日数を追加する最も簡単な方法は、 INTNX関数を使用することです。
この関数は次の基本構文を使用します。
INTNX (間隔、開始日、増分)
金:
- 間隔: 日付に追加する間隔 (日、週、月、年など)
- start_date : 開始日を含む変数
- increment : 追加する間隔の数
次の例は、この構文を実際に使用する方法を示しています。
例: SAS でこの日に日数を加算する
SAS に、店舗のさまざまな日に行われた合計売上高を示す次のデータセットがあるとします。
/*create dataset*/
data data1;
input month day year sales;
datalines ;
10 15 2022 45
10 19 2022 50
10 25 2022 39
11 05 2022 14
12 19 2022 29
12 23 2022 40
;
run ;
/*create second dataset with date formatted*/
data data2;
setdata1 ;
date= mdy (month,day,year);
mddyy10 date format . ;
drop month day year;
run ;
/*view dataset*/
proc print data =data2;
次のコードを使用して、日付列の値に 5 日を加算するdate_plus5という新しい列を作成できます。
/*create new dataset with column that adds 5 days to date*/
data data3;
setdata2 ;
date_plus5= intnx (' day ', date, 5);
format date_plus5 mmddyy10. ;
run ;
/*view dataset*/
proc print data =data3;
date_plus5という新しい列には、日付列の値に 5 日を加えた値が含まれることに注意してください。
INTNX関数で負の値を使用するだけで日数を減算することもできることに注意してください。
たとえば、次のコードを使用して、日付列の各値から 5 日を減算できます。
/*create new dataset with column that subtracts 5 days to date*/
data data3;
setdata2 ;
date_minus5= intnx (' day ', date, -5);
format date_minus5 mmddyy10. ;
run ;
/*view dataset*/
proc print data =data3;
dateminus5という新しい列には、日付列から 5 日を引いた値が含まれていることに注意してください。
注: SAS INTNX関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。