我有以下数据集:
Date
May2005
May2005
May2005
June2005
.
.
.
May2006
May2006
May2006
.
.
.
May2007
May2007
May2007
我正在尝试创建三个新变量,例如Date05 = May2005,Date1 = May2005,Date06 = May2006,Date1 = May2006,依此类推。
我想到了以下代码,但它不起作用:
data new;
set afinaldelaware;
if (Date1 EQ '01May2005'd or Date1 EQ '01May2006'd or Date1 EQ '01May2007'd)
then do;
Date05 = '01May2005';
Date06 = "01May2006';
Date07 = 'May2007';
end;
run;
答案 0 :(得分:0)
由于您的日期格式为mmyyy7.
,因此您不知道确切的日期,这可能是您的比较失败的原因。您可以使用相应的函数而不是日期文字来比较月份和年份。请注意,您要创建字符变量而不是SAS日期变量,这可能是您想要的。
data new;
set afinaldelaware;
if (month(date1)=5 and year(date1) in (2005 2006 2007))
then do;
Date05 = '01May2005';
Date06 = "01May2006';
Date07 = 'May2007';
end;
run;