在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