DATA Step, Macro, Functions and more

Scan function in MACRO

Accepted Solution Solved
Reply
Super Contributor
Posts: 1,041
Accepted Solution

Scan function in MACRO

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


Accepted Solutions
Solution
‎10-22-2012 07:08 PM
Super Contributor
Posts: 1,636

Re: Scan function in MACRO

Posted in reply to robertrao

you could if you want to:

%let varnames= Apple ball cat orange;

%let i=1 ;

%let thisvar=%sysfunc(scan(&varnames,&i));

%put &thisvar;

View solution in original post


All Replies
Super User
Posts: 19,862

Re: Scan function in MACRO

Posted in reply to robertrao

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

Solution
‎10-22-2012 07:08 PM
Super Contributor
Posts: 1,636

Re: Scan function in MACRO

Posted in reply to robertrao

you could if you want to:

%let varnames= Apple ball cat orange;

%let i=1 ;

%let thisvar=%sysfunc(scan(&varnames,&i));

%put &thisvar;

Super Contributor
Posts: 1,041

Re: Scan function in MACRO

Yeah,

It works well. So %scan is an inbuilt MAcro function as Reeza was explaining?????

Thanks

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 875 views
  • 3 likes
  • 3 in conversation