My code looks like this, but it gives me NOTE: Invalid data for variable... etc. filename f1 "\\PC0525\SAS_EG\IACS\*_2008.csv";
filename f2 "\\PC0525\SAS_EG\IACS\*_2009.csv";
filename f3 "\\PC0525\SAS_EG\IACS\*_2010.csv";
filename f4 "\\PC0525\SAS_EG\IACS\*_2011.csv";
filename f5 "\\PC0525\SAS_EG\IACS\*_2012.csv";
filename f6 "\\PC0525\SAS_EG\IACS\*_2013.csv";
filename f7 "\\PC0525\SAS_EG\IACS\*_2014.csv";
data
%macro smallLoop1(s,e);
%do year = &s. %to &e.;
want&year.
%end;
%mend smallLoop1;
%smallloop1(2008,2014)
wantOther
;
length F $ 200;
infile "\\PC0525\SAS_EG\IACS\*.csv" dlm="," filename=F EOV=EOV missover Firstobs=2 DSD
LRECL=32767;
input @;
/*infile '\\PC0525\SAS_EG\IACS\*.csv' */
if not EOV then do;
informat
VS 12.
DOTT $15.
SUMAEU best12.
DOPL_1 best12.
;
format VS best12.;
format DOTT $15.;
format SUMAEU best12.;
format DOPL_1 best12.;
input
VS
DOTT $
SUMAEU
DOPL_1
;
select(compress(scan(F,-1,"\/"),,"KD"));
%macro smallLoop2(s,e);
%do year = &s. %to &e.;
when ("&year.") output want&year.;
%end;
%mend smallLoop2;
%smallLoop2(2008,2014)
otherwise output wantOther;
end;
end;
EOV = 0;
run; I tried this: data PLAT_MODUL08az14;
infile '\\PC0525\SAS_EG\IACS\*.csv'
delimiter=';'
missover
firstobs=2
DSD
LRECL=32767
;
informat
VS 12. DOTT $15. SUMAEU best12.
DOPL_1 best12.
;
format VS best12.;
format DOTT $15.;
format SUMAEU best12.;
format DOPL_1 best12.;
input
VS
DOTT $
SUMAEU
DOPL_1;
if _infile_ =: "VS" then delete;
run; And it works, so I dont think there is problem with invalid data.
... View more