As the first step in the decommissioning of sasCommunity.org the site has been converted to read-only mode.


Here are some tips for How to share your SAS knowledge with your professional network.


Tips:Use the RESOLVE Function to Build a List into a Macro Variable

From sasCommunity
Jump to: navigation, search

One way to build a concatenated list and store it in a macro variable is to use the RESOLVE function with CALL SYMPUT:

%let namelist=;
data _null_;
    set sashelp.class;
    call symput('namelist', trim(resolve('&namelist'))||' '||trim(name));
run;
%put &namelist;

NOTE: The resulting macro variable must be no longer than 64,000 characters.

This can also be done in PROC SQL:

proc sql noprint;
    select trim(name) into :namelist separated by ' ' from sashelp.class;
quit;

The data step approach may be preferred if additional logic is needed to determine or select the values to be included.

....see also

Submitted By Otterm1