Proc Sql;
Create table dates As
Select
a.custid,
a.Displayed_date As Start_Dt,
intnx('day',a.Displayed_date,28) As Max_dt
From inscope_records a;
Quit;
只是学习如何使用SAS EG,所以创建了一个proc SQL,将日期添加28天。它可以工作,但是它以数字格式给我,即自1960年1月1日以来的天数,我应该如何解决? Start_DT将按预期显示为01OCT2018
答案 0 :(得分:1)
您可以使用这些标准的SQL方法
Date + INTERVAL 28 DAY
DATEADD(DAY, 28, Date)
答案 1 :(得分:1)
您只需要在变量后使用FORMAT=
选项,以告诉SAS使用哪种格式来显示新变量的值。
create table dates as
select
a.custid
, a.Displayed_date as Start_Dt
, intnx('day',a.Displayed_date,28) As Max_dt format=date9.
from inscope_records a
;
请注意,SAS将天数存储为自01JAN1960以来的天数,因此您可以使用加法添加28天。
Displayed_date + 28
如果您使用的是普通SAS代码,请使用FORMAT语句附加格式。
data dates;
set inscope_records;
Max_dt = displayed_date + 28;
format Max_dt date9.;
keep custid displayed_date Max_dt;
rename displayed_date = Start_dt;
run;