Help using Base SAS procedures

Need Help in SAS code

Reply
N/A
Posts: 1

Need Help in SAS code

I need help in this code:

My code:

%macro do_mean1;

%do L = 1 %to &maxid;

%do P = 2 %to &maxid;

proc sql;

create table a&P as

select step&P..LOT,step&P..XIND,step&P..YIND

from step&P, step&L

where step&P..LOT eq step&L..LOT and step&P..WF eq step&L..WF;

quit;

proc append base=comb1 data=a&P force;

run;

%end;

%end;

%mend do_mean1;

%do_mean1

Explanation: MAXID is the macro variable. 

Problem: Suppose, the value of maxid is 15.

So for L = 1 - it runs for P = 2 to 15

         L = 2  - it runs for P = 2 to 15

         L= 3 -   it runs for P = 2 to 15.

So, How to increment the value of P every time when we get new value of L??

Desired output:

         L = 1 - it should run for P = 2 to 15

         L = 2  - it should  run for P = 3 to 15

         L= 3  -  it should run for P = 4 to 15.

PROC Star
Posts: 7,468

Re: Need Help in SAS code

%do L = 1 %to &maxid;

  %do P = %eval(&L+1) %to &maxid;

Ask a Question
Discussion stats
  • 1 reply
  • 116 views
  • 0 likes
  • 2 in conversation