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.

sas-innovate-wordmark-gradient-background 3.pngSAS Innovate

Call for content now open!

It's your turn to help shape SAS Innovate 2027. Share your expertise and inspire the SAS community.

Submit your proposal →

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