BookmarkSubscribeRSS Feed
GN0001
Barite | Level 11

I have this code and I want to see how to loop works.

 

Proq sql;
select max(index) into :lst
from my tables;

%macro thisSample;
options spools;
%do i = 1 %to &lst.;
data _null_:
set frommypreviousread;
if $i = index then do;

what is the first value in the loop for &i = index;

if index is max(index)?

 

Regards,

blueblue

Blue Blue
2 REPLIES 2
japelin
Rhodochrosite | Level 12

try this.

%put &=lst;

or 

%put &=i;

in %do loops.

you can get value in macro variable.

 

And

if $i = index then do;

is this typo?

it may be "&i".

Sajid01
Meteorite | Level 14

The first value for &i will be one.
It can be verified by making changes as follows. This will put the value oi i in every iteration.

%do i = 1 %to &lst.;
%put &=i;
data _null_:

 

 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 667 views
  • 0 likes
  • 3 in conversation