BookmarkSubscribeRSS Feed
forumsguy
Fluorite | Level 6

Hi there,

I am newbie in SAS and learning to write macros. Can somebody help me in explaining why my code is produing 396 observations when I am actually expecting it to be only 6.Please find the code I am using here

  %macro m1;                                                                                                                           

%do i=1 %to 6;                                                                                                                         

%put log is &i;                                                                                                                        

%end;                                                                                                                                  

%mend;                                                                                                                                 

data _null_;                                                                                                                           

set sashelp.shoes end=eof;                                                                                                             

if region="Africa" then call execute('%m1');                                                                                           

run;

So according to my logic it should print log is 1 to 6 but it actually is reading everything from sashelp.shoes and printing 1to6 several times. This will really help me in strengthening my basics in macros

1 REPLY 1
art297
Opal | Level 21

If you do a proc freq of the region variable in sashelp.shoes, you'll discover that there are 56 records that contain a region with the name Africa.

As such, your code is send the "log is x" statement 56*6 times.

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 871 views
  • 0 likes
  • 2 in conversation