DATA Step, Macro, Functions and more

Macro if then print

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 5
Accepted Solution

Macro if then print

%macro con (p=);
proc sort data=work.superstore;
by descending profit;
%if profit ge &p %then %do;
title 'Profit';
proc print data=work.superstore;
%end;
%mend;
run;

%con (p=500);

I want to print the data if the condition is met in the profit variable but the result i am getting is the entire table.

Thank you in advance

 

Capture.JPG


Accepted Solutions
Solution
‎02-20-2018 06:25 AM
Super User
Super User
Posts: 9,203

Re: Macro if then print

Posted in reply to pritish069

And did you try my code as that is what it does, or do you need to put the words macro in there?

%macro for_macros_sake (p=);

proc sort data=work.superstore;
  by descending profit;
  where profit >= &p.;
run;
title "Profit"; proc print data=work.superstore; run;

%mend for_macros_sake;

%for_macros_sake (p=500);

View solution in original post


All Replies
Super User
Super User
Posts: 9,203

Re: Macro if then print

Posted in reply to pritish069

So you want to only print data where profit is the given value correct?

If so:

%let p=500;

proc sort data=work.superstore;
  by descending profit;
  where profit >= &p.;
run;
title "Profit"; proc print data=work.superstore; run;
Occasional Contributor
Posts: 5

Re: Macro if then print

I want the macro to sort and print where the profit is the given value
Solution
‎02-20-2018 06:25 AM
Super User
Super User
Posts: 9,203

Re: Macro if then print

Posted in reply to pritish069

And did you try my code as that is what it does, or do you need to put the words macro in there?

%macro for_macros_sake (p=);

proc sort data=work.superstore;
  by descending profit;
  where profit >= &p.;
run;
title "Profit"; proc print data=work.superstore; run;

%mend for_macros_sake;

%for_macros_sake (p=500);
Occasional Contributor
Posts: 5

Re: Macro if then print

Thankyou!
☑ This topic is solved.

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

Discussion stats
  • 4 replies
  • 145 views
  • 0 likes
  • 2 in conversation