BookmarkSubscribeRSS Feed
cho16
Obsidian | Level 7

Hi,

 

I have the table that has the column name as "ID". If the ID has 13 characters then it has to be blank. Below are some examples.

 

000709-W34
000709-W36
000709-W39
002028980-001
002028980-002
002028980-003

 

Output should be as below:

000709-W34
000709-W36
000709-W39

.

.

.

 

Thanks in Advance

2 REPLIES 2
Reeza
Super User

I think you want the LENGTH and CALL MISSING functions. 

 

Use length to check the length of the string and call missing to set it to missing, if desired. 

Edit: Substr takes a portion of string, I'm not sure how your subject line relates to your question. 


@cho16 wrote:

Hi,

 

I have the table that has the column name as "ID". If the ID has 13 characters then it has to be blank. Below are some examples.

 

000709-W34
000709-W36
000709-W39
002028980-001
002028980-002
002028980-003

 

Output should be as below:

000709-W34
000709-W36
000709-W39

.

.

.

 

Thanks in Advance


 

RW9
Diamond | Level 26 RW9
Diamond | Level 26

Post test data in the form of a datastep!!

 

So am just guessing that is a character string here:

data want;
  set have;
  result_var=ifc(lengthn(original_var)=13,".",original_var);
run;

Why would you want the resulting character string to be '.' anyways, that is for numeric data.

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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
  • 1219 views
  • 0 likes
  • 3 in conversation