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
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.