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

I am trying to assign a value to a new variable based on a part of a string variable.  

 

I have tried in proc sql with a case when and tried contains that did not work.  So I extracted the raw data into a data step and am trying that way.  

 

So if I have XYZ COMMERCIAL in variable type and I am just looking for any entry that contains COMMERCIAL to assign 'X11' to variable flag an in statment does not work.

 

I wrote if type in ('COMMERCIAL') then flag = 'X11'; else flag = 'Z10' --  this does not work.

 

How can I do this?

 

Thanks,

Elliott

1 ACCEPTED SOLUTION

Accepted Solutions
Miracle
Barite | Level 11

 

Maybe this? 

if index(upcase(type),'COMMERCIAL')>0 then flag = 'X11'; else flag = 'Z10';

Character Functions

View solution in original post

2 REPLIES 2
Miracle
Barite | Level 11

 

Maybe this? 

if index(upcase(type),'COMMERCIAL')>0 then flag = 'X11'; else flag = 'Z10';

Character Functions

Elliott
Obsidian | Level 7
Thank you!
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
  • 2596 views
  • 0 likes
  • 2 in conversation