DATA Step, Macro, Functions and more

Macro if statements

Reply
New Contributor
Posts: 2

Macro if statements

Why does this code not work? It doesn't seem to like the multiple conditions inside the if statement?

 

%if &WATERFALL_RUN. = N and &SENSITIVITY_RUN. = N %then %do

%process_flow_ALL;

%end;

 

Super Contributor
Posts: 359

Re: Macro if statements

Hello,

 

What do you mean by 'does not work' ?

Are there error messages in the log ?

There is nothing wrong with this code.

Use mprint, mlogic and symbolgen options to check how the macro code is resolved.

 

 

PROC Star
Posts: 1,400

Re: Macro if statements

What does your log say?

Super User
Posts: 10,571

Re: Macro if statements

It all depends on the contents of the macro variables.

%macro testmac;
%let waterfall_run=N;
%let sensitivity_run=N;
%if &WATERFALL_RUN. = N and &SENSITIVITY_RUN. = N %then %do; 
%put it works!;
%end;
%mend;

%testmac

Log from this:

24         %macro testmac;
25         %let waterfall_run=N;
26         %let sensitivity_run=N;
27         %if &WATERFALL_RUN. = N and &SENSITIVITY_RUN. = N %then %do;
28         %put it works!;
29         %end;
30         %mend;
31         
32         %testmac
it works!
---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Super User
Posts: 13,941

Re: Macro if statements

Doesn't work is awful vague.

Are there errors in the log?: Post the code and log in a code box opened with the {i} to maintain formatting of error messages.

No output? Post any log in a code box.

Unexpected output? Provide input data in the form of a dataset, the actual results and the expected results. Data should be in the form of a data step. Instructions here: https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-dat... will show how to turn an existing SAS data set into data step code that can be pasted into a forum code box using the {i} icon or attached as text to show exactly what you have and that we can test code against.

Ask a Question
Discussion stats
  • 4 replies
  • 130 views
  • 0 likes
  • 5 in conversation