I am trying to read options from a library and store them into a macro. Specifically I want to retrieve the caslib that a library point to (see screenshot) but a general method to retrieve properties of a library would help me.
With "libname example list" I do get the information I need but it is written to the log. Is there a way to write it to a macro value (which I can later parse to get only the info I need). I did read about proc printto here to redirect the log to a file, which I can then read and parse. But I'd prefer to write the output of "libname example list" directly to a macro value.
Other methods to read library properties are also welcome, although meta-queries are no option since this should also work for libraries that are not registered in metadata.
Since you have a SAS Compute libref, you can use DICTIONARY.LIBNAMES from PROC SQL:
proc sql;
select libname, sysvalue
from dictionary.libnames
where upcase(sysname) = 'CASLIB';
quit;
With INTO: you can store the result in a macro variable.
Since you have a SAS Compute libref, you can use DICTIONARY.LIBNAMES from PROC SQL:
proc sql;
select libname, sysvalue
from dictionary.libnames
where upcase(sysname) = 'CASLIB';
quit;
With INTO: you can store the result in a macro variable.
Thanks for the quick response Linus, this does exactly what I was looking for! I wasn't aware of this dictionary.
Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.