Hi there I need to import multiple (20+) comma delimited text files (.txt files not .csv) of varying lengths and number of variables. A "memberkey" column links all these files together. However, this variable has leading zeros, what's worse is that the member keys vary in length. For example there are two ids 000123 and 00123 which when imported are both 123 when that is clearly not the case. I have written/modified a macro I found on the sas website to import all these files as they are in a common directory. This works great apart from the leading zero issue. I can't use an infile data step as I don't know all the field names and don't want to have to open up these files (too many of them). My question is can I force proc import to somehow make all fields called "memberkey" text instead of numeric? Here is my macro: filename DIRLIST pipe 'dir "\data\client\folder\Raw Data\*.txt" '; data dirlist ; infile dirlist lrecl=200 truncover; input line $200.; if find(line,".txt") = 0 then delete; length file_name $ 200; file_name="\data\client\folder\Raw Data\"||scan(line,-1," "); keep file_name; run; data _null_; set dirlist end=end; count+1; call symput('read'||left(count),left(trim(file_name))); call symput('dset'||left(count),substr(file_name, 76, length(file_name) - 79)); if end then call symput('max',count); run; options mprint symbolgen; %macro readin; %do i=1 %to &max; PROC IMPORT DATAFILE="&&read&i" OUT=data.&&dset&iv DBMS=DLM REPLACE; GETNAMES=YES; DELIMITER=","; GUESSINGROWS=10000; RUN; %end; %mend readin; %readin; Thank you all for your help
... View more