Run the libname statement with the MPRINT and SYMBOLGEN options turned on. It will show what the log is trying to submit and where the error is.
It's possible you need a period (.) after the macro variable to force it to resolve properly.
Libname Sample "&samplePath.\&CheckFolder.";
Run the libname statement with the MPRINT and SYMBOLGEN options turned on. It will show what the log is trying to submit and where the error is.
It's possible you need a period (.) after the macro variable to force it to resolve properly.
Libname Sample "&samplePath.\&CheckFolder.";
Your tests clearly narrow the problem down to the value of &CheckFolder.
One of the red flags is that &CheckFolder gets created by SQL into. It's possible that SQL performs a numeric to character conversion when assigning the value. That might introduce leading blanks, or possibly conversion to scientific notation. Check what you are getting:
%put **&CheckFolder**;
SAS character variables are fixed length fields, so make sure to use the TRIMMED option on the INTO clause.
select charvar_or_function
into :CheckFolder trimmed
from ....
Or add a step to remove the trailing spaces.
%let CheckFolder=&CheckFolder;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.