Sas で datetime を日付に変換する方法
SAS で日付/時刻を日付に変換する最も簡単な方法は、 DATEPART関数を使用することです。
この関数は次の基本構文を使用します。
date = put ( datepart (some_datetime), mmddyy10. );
mddyy10 引数。日付を 10/15/2022 の形式にすることを指定します。
次の例は、この構文を実際に使用する方法を示しています。
例: SAS で日時を日付に変換する
SAS に日付と時刻の列を含む次のデータセットがあるとします。
/*create dataset*/
data original_data;
format some_datetime datetime23.;
input some_datetime:datetime23.;
datalines ;
14OCT2022:0:0:0
09NOV2022:0:0:0
14NOV2022:0:0:0
15NOV2022:0:0:0
22DEC2022:0:0:0
24DEC2022:0:0:0
04JAN2023:0:0:0
;
run ;
/*view dataset*/
proc print data = original_data;
次のコードは、 DATEPART関数を使用して、datetime 列の値がさまざまな形式の日付としてフォーマットされる新しいデータセットを作成する方法を示しています。
/*create new dataset with datetime formatted as date*/
data new_data;
set original_data;
date_mmddyyyy = put ( datepart (some_datetime), mmddyy10.);
date_yyyymmdd = put ( datepart (some_datetime), yymmdd10.);
date_date9 = put ( datepart (some_datetime), date9.);
date_default = datepart (some_datetime);
run ;
/*view new dataset*/
proc print data = new_data;
4 つの新しい列には、元の datetime 列の日付が異なる形式で表示されることに注意してください。
デフォルトでは、 DATEPART関数は日付/時刻を 1960 年 1 月 1 日からの日数に変換します。
したがって、 date_defaultという新しい列には、日時ごとに 1960 年 1 月 1 日からの日数が表示されます。
注: SAS DATEPART関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。