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

Hello I am just trying to figure out a simple substr command:

data a;

input A B @@;

datalines;

123 ABCD

;

run;

data a; set a ;

if substr(B,1,1) = "A" then type ="S";

else type='K';

T = substr(B,1,2);

run;

Not sure why this code is not working, it just always defaults to K. Any ideas?

1 ACCEPTED SOLUTION

Accepted Solutions
Patrick
Opal | Level 21

Run the first data step only and then check what you've actually got in table 'a'.

Also: Always read the SAS log as it gives you valuable information, eg:

NOTE: Invalid data for B in line 18 5-8.

View solution in original post

2 REPLIES 2
Patrick
Opal | Level 21

Run the first data step only and then check what you've actually got in table 'a'.

Also: Always read the SAS log as it gives you valuable information, eg:

NOTE: Invalid data for B in line 18 5-8.

steppermotor
Calcite | Level 5

Thanks Patrick, I'm still a novice to SAS, I'll take your advice in running parts of the code each time.  Made the correction and it worked fine:

data a;

input A B $ @@;

datalines;

123 ABCD

;

run;

data a; set a ;

if substr(B,1,1) = "A" then type ="S";

else type='K';

T = substr(B,1,2);

run;

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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