将第一个日期和最后一个日期分配给新变量
Assign first date and last dates to a new variable
我有一个包含 2 个日期字段(date1 和 date2)的数据集,我必须创建两个新的日期字段,其中 date3 是 date1 中的最早日期,date4 是 date2 +31 天。而且它必须在 testid 上分组完成。
我拥有的数据:
data have;
input acct_num test_id date1 date2 ;
DATALINES;
55203610 1 2-feb-20 15-Apr-20
55203610 1 15-feb-20 15-Apr-20
55203610 1 20-feb-20 15-Apr-20
55203610 2 1-Jan-20 20-May-20
55203610 2 15-Mar-18 20-May-20
55203610 3 1-feb-17 1-Jul-20
;
run;
data want;
input acct_num test_id date1 date2 date3 date4;
DATALINES;
55203610 1 2-feb-20 15-Apr-20 2-Feb-20 16-May-20
55203610 1 15-feb-20 15-Apr-20 2-Feb-20 16-May-20
55203610 1 20-feb-20 15-Apr-20 2-Feb-20 16-May-20
55203610 2 1-Jan-20 20-May-20 15-Mar-18 20-Jun-20
55203610 2 15-Mar-18 20-May-20 15-Mar-18 20-Jun-20
55203610 3 1-feb-17 1-Jul-20 1-feb-17 1-Aug-20
;
run;
我们将不胜感激。
使用 DoW Loop
data want;
do until (last.test_id);
set have;
by test_id;
minval=min(minval, date1);
end;
do until (last.test_id);
set have;
by test_id;
date3=minval;
date4=date2 + 31;
output;
end;
format date: date9.;
drop minval;
run;
我有一个包含 2 个日期字段(date1 和 date2)的数据集,我必须创建两个新的日期字段,其中 date3 是 date1 中的最早日期,date4 是 date2 +31 天。而且它必须在 testid 上分组完成。 我拥有的数据:
data have;
input acct_num test_id date1 date2 ;
DATALINES;
55203610 1 2-feb-20 15-Apr-20
55203610 1 15-feb-20 15-Apr-20
55203610 1 20-feb-20 15-Apr-20
55203610 2 1-Jan-20 20-May-20
55203610 2 15-Mar-18 20-May-20
55203610 3 1-feb-17 1-Jul-20
;
run;
data want;
input acct_num test_id date1 date2 date3 date4;
DATALINES;
55203610 1 2-feb-20 15-Apr-20 2-Feb-20 16-May-20
55203610 1 15-feb-20 15-Apr-20 2-Feb-20 16-May-20
55203610 1 20-feb-20 15-Apr-20 2-Feb-20 16-May-20
55203610 2 1-Jan-20 20-May-20 15-Mar-18 20-Jun-20
55203610 2 15-Mar-18 20-May-20 15-Mar-18 20-Jun-20
55203610 3 1-feb-17 1-Jul-20 1-feb-17 1-Aug-20
;
run;
我们将不胜感激。
使用 DoW Loop
data want;
do until (last.test_id);
set have;
by test_id;
minval=min(minval, date1);
end;
do until (last.test_id);
set have;
by test_id;
date3=minval;
date4=date2 + 31;
output;
end;
format date: date9.;
drop minval;
run;