Hi Team,
Recently I learnt that whenever we are refwerring to SAS functions in MAcros we have to use %sysfunc.
In this piece of code ISNT SCAN a SAS function? Don t we need to use %sysfunc before the SCAN.
%macro dothis;
%let varnames= Apple ball cat orange;
ods pdf file='myfilename';
%do i=1 %to %sysfunc(countw(&varnames));
%let thisvar=%scan(&varnames,&i, &str());
Regards
you could if you want to:
%let varnames= Apple ball cat orange;
%let i=1 ;
%let thisvar=%sysfunc(scan(&varnames,&i));
%put &thisvar;
SCAN is a SAS function
%SCAN is a SAS MACRO
And not all functions work with sysfunc, read the documentation
http://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/viewer.htm#z3514sysfunc.htm
you could if you want to:
%let varnames= Apple ball cat orange;
%let i=1 ;
%let thisvar=%sysfunc(scan(&varnames,&i));
%put &thisvar;
Yeah,
It works well. So %scan is an inbuilt MAcro function as Reeza was explaining?????
Thanks
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.