DATA Step, Macro, Functions and more

Issue with calling result

Contributor afs
Posts: 28

Issue with calling result



%macro draft(set1,table1,Lable1);

  %if &set1=1   %then %do;

  proc freq data=dataset;

  set &table1;




%else %do;

 proc means data=sasdata.dataset ;

  var &table1;



 %mend draft;


I want to get the macro for each of the variables i.e week and accessories

I should be able to get either freq or means report for above-mentioned variables.My code is below .

But seems i am missing something.can anybody advise?


 %macro draft;




%mend draft;


Super User
Posts: 10,215

Re: Issue with calling result

Your original macro won't work, because you use &table1 as a dataset in one place and a variable list in another.

Hint: get your steps working without macro code, then replace the future dynamic parts with macro variables, then wrap into a macro definition, and then add macro logic (%if). Test at every step of the development, and thoroughly look at the log. Do a google search for each log message you do not understand.


If you run into obstacles you can't overcome, post test data (data step with datalines) and the log.

Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Posts: 9,365

Re: Issue with calling result

Posted in reply to KurtBremser


  These papers outline the basic process of starting with working code and then converting your code to a Macro program: 



Ask a Question
Discussion stats
  • 2 replies
  • 1 like
  • 3 in conversation