在SAS中转换日期并创建新变量
假设我有以下观察日期在SAS中转换日期并创建新变量,sas,formatting,Sas,Formatting,假设我有以下观察日期 data dates; input obs date$11.; cards; 1 06/10/1949 2 01/07/1952 3 02/10/1947 ; run; 但是现在我想在date旁边插入另一列,名为new date,在date9.格式下,这个新的date列是数字列 我试了以下方法 data newdata; set dates; newdate=input(date,date9.); run; 但是当我运行此命令时,新的
data dates;
input obs date$11.;
cards;
1 06/10/1949
2 01/07/1952
3 02/10/1947
;
run;
但是现在我想在date旁边插入另一列,名为new date,在date9.
格式下,这个新的date列是数字列
我试了以下方法
data newdata;
set dates;
newdate=input(date,date9.);
run;
但是当我运行此命令时,新的日期列似乎为空您的字符串值没有使用与日期兼容的格式。informat。它们似乎在使用
MMDDYY.
或DDMMYY.
,但无法从示例值中分辨出哪个
data dates;
input obs datestr :$11.;
date1 = input(datestr,mmddyy10.);
date2 = input(datestr,ddmmyy10.);
format date1 date2 date9. ;
cards;
1 06/10/1949
2 01/07/1952
3 02/10/1947
;
结果:
Obs obs datestr date1 date2
1 1 06/10/1949 10JUN1949 06OCT1949
2 2 01/07/1952 07JAN1952 01JUL1952
3 3 02/10/1947 10FEB1947 02OCT1947
您的字符串值未使用与日期兼容的格式。informat。它们似乎在使用
MMDDYY.
或DDMMYY.
,但无法从示例值中分辨出哪个
data dates;
input obs datestr :$11.;
date1 = input(datestr,mmddyy10.);
date2 = input(datestr,ddmmyy10.);
format date1 date2 date9. ;
cards;
1 06/10/1949
2 01/07/1952
3 02/10/1947
;
结果:
Obs obs datestr date1 date2
1 1 06/10/1949 10JUN1949 06OCT1949
2 2 01/07/1952 07JAN1952 01JUL1952
3 3 02/10/1947 10FEB1947 02OCT1947