BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Steve1964
Obsidian | Level 7

run the following data step

data test;

p=-2;

set sashelp.class point=p;

run;

There is no error message and data step fall a dead loop!  I just wonder to where the pointer pointed   when the value of p is negative and why  no error message in log window.

1 ACCEPTED SOLUTION

Accepted Solutions
novinosrin
Tourmaline | Level 20

Hi @Steve1964   The reason for infinite loop is because when point= option random direct access is used based on observation number, SAS can't find the "End of file" marker. Therefore you would need a STOP statement to end the datastep iteration. 

 

Add a STOP after the set statement and take a look at the log, you should see the invalid OBS No of point=var option triggering _ERROR_ =1 .

View solution in original post

1 REPLY 1
novinosrin
Tourmaline | Level 20

Hi @Steve1964   The reason for infinite loop is because when point= option random direct access is used based on observation number, SAS can't find the "End of file" marker. Therefore you would need a STOP statement to end the datastep iteration. 

 

Add a STOP after the set statement and take a look at the log, you should see the invalid OBS No of point=var option triggering _ERROR_ =1 .

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
  • 1 reply
  • 815 views
  • 1 like
  • 2 in conversation