Date 如何将文本文件日期转换为有用的SAS日期格式
我目前收到的数据是文本文件的形式,其中变量之间用|分隔。 当前出生日期以23年10月12日格式列出。同样,死亡日期列为99年12月31日。我试图将其转换为正确的SAS日期格式,但每次都会遇到问题Date 如何将文本文件日期转换为有用的SAS日期格式,date,datetime,sas,formatting,Date,Datetime,Sas,Formatting,我目前收到的数据是文本文件的形式,其中变量之间用|分隔。 当前出生日期以23年10月12日格式列出。同样,死亡日期列为99年12月31日。我试图将其转换为正确的SAS日期格式,但每次都会遇到问题 data raw_Demographic; infile "&path.\&demo." missover truncover dsd dlm = "|" ; informat birth_date anydtdte10. death_dt $10. ; form
data raw_Demographic; infile "&path.\&demo." missover truncover dsd dlm = "|" ;
informat birth_date anydtdte10. death_dt $10. ;
format birth_date mmddyy10. death_dt $10. ;
input birth_date death_dt ;
if death_dt ne "0" then dte_death=input(death_dt, anydtdte10.);
format dte_death mmddyy10.;
drop death_dt;
if dte_death="31DEC1999"D then dte_death=.; *Note: this is because the format makes 9999 as 1999 so these are observations with no death date therefore we set to missing;
问题在于,这会将日期输出为:
出生日期=2023年12月10日,但想要1923年12月10日死亡日期=1999年12月31日,但想要1999年12月31日
是否有办法将其转换为上述格式?由于原始格式的不确定性,我不确定是否有“适当”的方法,但您可以始终使用
intnx
来转换年份<代码>新日期=intnx('年',出生日期,-100)代码>为什么希望日期在9999年?就连梅尔·布鲁克斯的角色也只有2000年的历史。如何区分没有死亡的人和2019年12月31日死亡的人?