May I know the meaning of %str( ) in below %do loop and %let statement?
/* Drop unwanted fields from the tables */
%let l_i=1;
PROC SQL NOPRINT;
%do %until(%scan(&l_freqDs,&l_i, %str( )) EQ );
%let l_dsName =%scan(&l_freqDs,&l_i, %str( ));
%let l_varName= %scan(&l_tables,&l_i, %str( ));
ALTER TABLE &l_dsName DROP &l_varName;
%let l_i=%eval(&l_i + 1);
%end;
QUIT;
Since the macro language strips blanks from values, you must use the %STR macro function to feed a blank to the SCAN.
@Kurt_Bremser Won't the SCAN function consider blank as default delimiter without we being explicitly adding %str()?
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
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.