Hi all,
This morning when I was dealing with a data, I faced a probelm related to date transformation.
This data is store in Excel (.xls), and the variable "admission" in Excel looks like:
2007/09/21
2003/11/05
.
.
.
However, after I import this data into SAS by the following code, variable "admission" change to.
code:
PROC IMPORT OUT= WORK.test
DATAFILE= "E:\HardDriveBackUp\BackUp\CL-Wu\AHF\AHF 2015 AHEA
D.xls"
DBMS=EXCEL REPLACE;
RUN;
admission:
13409712000
13287369600
.
.
.
My question is "how to convert this admission variable into YYMMDD or substract the year?"
I've tried some methods to convert it, but i failed.
Last, I show some informations to you that I think it is useful when converting this.
1.when this data imported in SAS, it's variable type "number" (know this from proc contents)
2.my code which fail to convert is as follows:
DATA test;SET WORK.AHF;
testdate = INPUT(PUT(admission,12.),YYMMDD8.);
FORMAT testdate YYMMDD8.;
Thank you for your suggestions.
My solution is to export this data into other format, such as ".csv".
SAS assumes 1 Jan 1960 is day 0. Excel assumes 1 Jan 1900 is day 1. You can therefore add or subtract 21 916 from the date depending on whether you are going from Excel to SAS or SAS to Excel. Be careful of negative numbers. SAS accepts the date as being before 1 Jan 1960, Excel does not recognise it.
You can refer this link:
http://www.sascommunity.org/wiki/Tips:Conversion_from_Excel_Date_to_SAS_Date
Try changing the column type in Excel of admission to DATE to see if that helps.
Thank you for your suggestions.
My solution is to export this data into other format, such as ".csv".
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.