I have two libname statements in the attached code (I only run 1 at a time) that should be the same yet only one works. The direct call-out works but using the macro variable name does not. From what I can tell, these are the EXACT SAME things. When I run the libname using dirSAS I receive an error. Please advise.
Code:
%let dirLSB=/folders/myshortcuts/MyRawData;
%let dirSAS=/folders/myfolders;
*libname libsas 'dirSAS'; *This does not work;
libname libsas '/folders/myfolders'; *This does work;
data libsas.Snow1;
infile "&dirLSB/Pr1Snowfall1.csv"
DLM =','; *Range of, comma delim;
input Season $ Sep Oct Nov Dec Jan Feb Mar Apr May Total;
RUN;
Error:
NOTE: Library LIBSAS does not exist.
You have put your directory in a macro variable. Using
libname libsas 'dirSAS';
You are trying to create a libname called libsas of the directory dirSAS(that doesn't exist). To replace the content of a macro variable you must use & before the name of the variable. Furthermore simple quote doesn't allow macro replacement, you must use double quotation marks
libname libsas "&dirSAS";
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.