DATA Step, Macro, Functions and more

SAS macro variable with conditions

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 14
Accepted Solution

SAS macro variable with conditions

Hi experts,

 

I have the following macro and I want the macro to assign correct values.

 

%Macro Month_Pre_Selection (close, period1);

%if &Close. = 1 %then %do;

	%let input_contracts = CONTRACT_&period1.; 
	%let input_customers = CUSTOMER_&period1.;
	%let input_object = OBJECT_&period1.;
	%let input_payplan = PAYMENTPLAN_&period1.;

%end;

%if &Close. = 2 %then %do;

	%let input_contracts = CONTRACT_&period1._PRE; 
	%let input_customers = CUSTOMER_&period1._PRE; 
	%let input_object = OBJECT_&period1._PRE;
	%let input_payplan = PAYMENTPLAN_&period1._PRE;

%end;

%mend;

when I run it with following code 

 

%Month_Pre_Selection (1, 201805);

%put &input_contracts;

I get the following message in the log

WARNING: Apparent symbolic reference INPUT_CONTRACTS not resolved.
&input_contracts

What am I doing wrong?

 

Thanks in advance.

 


Accepted Solutions
Solution
3 weeks ago
Super User
Posts: 10,787

Re: SAS macro variable with conditions

Posted in reply to Myurathan
%Macro Month_Pre_Selection (close, period1);
%global input_contracts ;
...........

View solution in original post


All Replies
Solution
3 weeks ago
Super User
Posts: 10,787

Re: SAS macro variable with conditions

Posted in reply to Myurathan
%Macro Month_Pre_Selection (close, period1);
%global input_contracts ;
...........
Respected Advisor
Posts: 3,061

Re: SAS macro variable with conditions

Posted in reply to Myurathan

Or move the %PUT statement inside the macro.

--
Paige Miller
☑ This topic is solved.

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

Discussion stats
  • 2 replies
  • 66 views
  • 2 likes
  • 3 in conversation