从sas中的Date变量创建新的Character变量

时间:2015-08-18 15:58:16

标签: variables sas character

我有以下数据集:

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;

1 个答案:

答案 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;