0
我有一个变量数据集,开始日期,它使用字符格式需要很多不同的值。SAS日期格式
我已经分手了使用起始日期列中的值,因为我想日期变量转换成两列,与两个不同的日期值数据集:
if length(Startvalue) = 6 then output a6;
else if length(Startvalue) = 8 then output a8 ;
else if length(Startvalue) = 1 then output a1;
else output a_other;
价值之一是这样写的:090209(DDMMYY)
我想将变量格式化为date9。格式和DDMMYYD10。类似这样的格式:
FORMAT Startvalue2 date9.;
format Startvalue3 DDMMYYD10.;
我得到了它的这种方法在数据步工作:
FORMAT Startdato2 date9.;
format startdato3 DDMMYYD10.;
Startdato2 = INPUT(PUT(Startdato,6.),DDMMYY6.);
Startdato3 = INPUT(PUT(Startdato,6.),DDMMYY6.);
另一个价值是这样写的:15-08-17(DD-MM-YY) 我也希望这两种格式该值,如:
FORMAT Startvalue2 date9.;
format Startvalue3 DDMMYYD10.;
但在这里我不能从上面用我表达的副本:
FORMAT Startvalue2 date9.;
format Startvalue3 DDMMYYD10.;
Startvalue2 = INPUT(PUT(Startvalue,8.),DDMMYYDw.);
Startvalue3= INPUT(PUT(Startvalue,8.),DDMMYYDw.);
你知道为什么吗?我怎样才能将价值转化为一个日期9。格式和DDMMYYD10格式?
亲切的问候
玛丽亚
感谢您的回答。如果我在值21-09-17上使用这种方法,我得到这个输出: 17SEP2021 \t 17-09-2021 这不是我想要的。它需要是:21SEP2017和21-09-2017 – user1626092
从anydtdte。文档:“01-02-03或01-02等输入数据可能在月份,日期和年份不明确,在这种情况下,DATESTYLE系统选项会指示月份,日期,和一年。“我更新了代码以反映这一点。 –
耶,它的作品!非常感谢 - 不知道我了解添加的代码,但我接受 - 而且我很高兴:) – user1626092