Help using Base SAS procedures

Macros with conditions

Accepted Solution Solved
Reply
Super Contributor
Posts: 259
Accepted Solution

Macros with conditions


I have a data set with a field called Key which has values ranging from 1 to 25 and these represent different conditions;

Condition one is: if Fieldx = 1 then let comment = "exclud"e

Condition two is: if Fieldx = 2 and Fieldy ne 4 then comment =" always include"

and so on.

So the conditions vary in terms of the number of fields that affect the condition

I want to build a macro like;

%macro test(condition);

data test;

set test;

if &condition;

run;

%mend;

%test(fieldx=2);

%test(fieldx=2 and fieldy ne 4);

Something like this but which works.

Basically I can do this very simply if there is only one field affecting the condition but if it varies is there a way of building this into the macro


Accepted Solutions
Solution
‎10-15-2014 06:40 AM
Frequent Contributor
Posts: 144

Re: Macros with conditions

Hi,

Have you tried to use the function %STR()? All macro should work if you call it like

%test(%STR(fieldx=2));

%test(%STR(fieldx=2 and fieldy ne 4));

View solution in original post


All Replies
Solution
‎10-15-2014 06:40 AM
Frequent Contributor
Posts: 144

Re: Macros with conditions

Hi,

Have you tried to use the function %STR()? All macro should work if you call it like

%test(%STR(fieldx=2));

%test(%STR(fieldx=2 and fieldy ne 4));

Super Contributor
Posts: 259

Re: Macros with conditions

Thanks a million, that worked!

🔒 This topic is solved and locked.

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

Discussion stats
  • 2 replies
  • 250 views
  • 1 like
  • 2 in conversation