BookmarkSubscribeRSS Feed
rkumar23
Calcite | Level 5

I am trying to achieve something as below....

I have a Main macro say with MAIN1  and within MAIN1 i have another macro with MAIN2 and Both MAIN1 & MAIN2 need to have certain values to be passed when they run so I have below in the coding.

%Macro main1(X1,X2,X3,X4);

Data xx;

%Put "&X1";

%MAIN2(&X2,&X3,&X4);

%Mend main1;

Now I am running above macro as below:

%Main1(x1=1,x2=6,x3=8,x4=10);          

with above run it shows me error ERROR: MORE POSITIONAL PARAMETERS FOUND THAN DEFINED.  

Any idea how we pass the variables to MAIN2 ?

2 REPLIES 2
rkumar23
Calcite | Level 5

got it resolve..thanks...

Ksharp
Super User

You mixed up two ways of defining macro variable(parameter  macro variable  and  position macro variable).


%Macro main1(X1=,X2=,X3=,X4=);

Message was edited by: xia keshan

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 686 views
  • 0 likes
  • 2 in conversation