I have a very simple program that reads in the contents of all the .csv files in a Windows directory. That part of the program works fine.
I would like to add the file name to each record.
The problem I have is the variable fullfilename contains only 'C:\Users' rather than the full name. I have verified this with PUT statements.
In the log, SAS correctly identifies the full path and name and the proper data is imported but the ticker field (to wihich I tried to assign the parsed filename) is blank, as is the fullfilename field.
Thanks for your help!
Using Windows 10 and SAS 9.4 in Enterprise Guide
data ticker_files;
infile 'c:\Users\tparrent\Documents\SandP 500 Stock History\daily\table_*.csv'
FILENAME=fullfilename
DELIMITER=','
FIRSTOBS=1;
put fullfilename;
do until(last);
input dateint unknown open high low close volume;
ticker = scan(scan(fullfilename,-1,'_'),1,'.');
output;
end;
make sure to specify the length as well.
length fullFileName sourceName $256.;
When you use the FILENAME you need to actually store it, I don't see that in your code, but it doesn't look complete either....
This is what you'd add and you should have a variable called sourceFile in your dataset. I don't even think fullFileName would be outputted to your dataset otherwise.
sourceFile = fullFileName;
I tried your sugestions and sourceFileName still contains only 'C:\Users'
I did post the entire code and it does run and import the data from the files
make sure to specify the length as well.
length fullFileName sourceName $256.;
LENGTH fullfilename $256.; did the trick!
Thank you very much Reeza. I now understand something beyond the specific problem - don't get careless with variables!
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.