BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Linlin
Lapis Lazuli | Level 10

Hi All,

I am curious to know why missing ";" after do did  not cause problem in the code below?

data have;

id=1;

input letter $8.;

cards;

b

bu

but

bur

butter

;

proc transpose data=have out=temp;

by id;

var letter;

run;

data want;

  set temp;

  array _s(*) col:;

  do _n_=1 to dim(_s) ;      

    if lengthn(_s(_n_))=1 and _s(_n_)="b" then do score1=1; score+1;end;

   else if lengthn(_s(_n_))=2 and _s(_n_)="bu" then do score2=1; score+1;end;

         else if lengthn(_s(_n_))=6 and _s(_n_)="butter" then do score6=1; score+1;end;

end;

proc print;run;


Thanks - Linlin

Message was edited by: Linlin

1 ACCEPTED SOLUTION

Accepted Solutions
PGStats
Opal | Level 21

You have inadvertantly defined iterative do loops, as in :

do i = 1, 10, 100;

     score + i;

end;

except that the list of values for the control variable contains a single value. It thus executes only once, which is also what the do block would have done. So in the end, with or without the ";", the result is the same. Interesting. Thanks for brinning it up Linlin.

PG

PG

View solution in original post

2 REPLIES 2
PGStats
Opal | Level 21

You have inadvertantly defined iterative do loops, as in :

do i = 1, 10, 100;

     score + i;

end;

except that the list of values for the control variable contains a single value. It thus executes only once, which is also what the do block would have done. So in the end, with or without the ";", the result is the same. Interesting. Thanks for brinning it up Linlin.

PG

PG
Linlin
Lapis Lazuli | Level 10

Thank you PG for your explanation! I was so scared when I found out the missing ";".  - Linlin

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
  • 1055 views
  • 0 likes
  • 2 in conversation