So I've looked on the boards and found a number of things that could help but aren't close enough. As a lot of the examples use datalines and I'm importing data from a text file. I'm reading in data (First 4 lines from the txt file) Album,Artist,ReleaseDate,TotalCertifiedCopies,ClaimedSales,Genre
Thriller,Michael Jackson,"November 30, 1982",46.3,65,Pop
Back in Black,AC/DC,"July 25, 1980",26.1,50,Rock
The Dark Side of the Moon,Pink Floyd,"March 1, 1973",24.2,45,Rock As you can see the ReleaseDate, which I need to extract the year from in a later step is read in as a string. When I import it in SAS uses Datetime format and Anydtdtm for it also. 98 data WORK.IMPORT ;
99 %let _EFIERR_ = 0; /* set the ERROR detection macro variable */
100 infile REFFILE delimiter = ',' MISSOVER DSD firstobs=2 ;
101 informat Album $52. ;
102 informat Artist $18. ;
103 informat ReleaseDate anydtdtm40. ;
104 informat TotalCertifiedCopies best32. ;
105 informat ClaimedSales best32. ;
106 informat Genre $10. ;
107 format Album $52. ;
108 format Artist $18. ;
109 format ReleaseDate datetime. ;
110 format TotalCertifiedCopies best12. ;
111 format ClaimedSales best12. ;
112 format Genre $10. ;
113 input
114 Album $
115 Artist $
116 ReleaseDate
117 TotalCertifiedCopies
118 ClaimedSales
119 Genre $
120 ;
121 if _ERROR_ then call symputx('_EFIERR_',1); /* set ERROR detection macro variable */
122 run; I'm simply struggling to try and extract the year from it. I've tried /*var = put(datepart(ReleaseDate),date9.);
Decade = Year(var);*/
/*input ReleaseDate $20.;*/
new_date = input(ReleaseDate, yymmdd20.);
year = year(new_date); I've tried manually import it with the infile statement and just how it's splitting up wasn't working. But I'm willing to try manually importing again if I need too.
... View more