DATA Step, Macro, Functions and more

How to add non-macros to macros?

Reply
Occasional Contributor
Posts: 5

How to add non-macros to macros?

%macro test(x);

data temp;

     set temp1;

     y=5;

     y = y + &x.;

run;

%mend;

%test(5);

will y be equal to 10?

Contributor
Posts: 60

Re: How to add non-macros to macros?

%macro test(x);

data temp;

     y=5;

     y = y + &x.;

run;

%mend;

%test(5);

Yes it will be 10, check this code.

Super User
Posts: 10,516

Re: How to add non-macros to macros?

You may be looking for SYMGET as well if the application is more complex then your example.

Super User
Super User
Posts: 6,502

Re: How to add non-macros to macros?

Yes. For every observation read from TEMP1 and written to TEMP will have Y=10.

You can try it without the macro wrapper by just using %LET to set the value of the macro variable X.

%let x=5;

data temp;

   set sashelp.class ;

   y=5 + &x ;

   put (name y) (=);

run;

Name=Alfred y=10

Name=Alice y=10

Name=Barbara y=10

Name=Carol y=10

Name=Henry y=10

Name=James y=10

Name=Jane y=10

Name=Janet y=10

Name=Jeffrey y=10

Name=John y=10

Name=Joyce y=10

Name=Judy y=10

Name=Louise y=10

Name=Mary y=10

Name=Philip y=10

Name=Robert y=10

Name=Ronald y=10

Name=Thomas y=10

Name=William y=10

Ask a Question
Discussion stats
  • 3 replies
  • 180 views
  • 0 likes
  • 4 in conversation