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-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 721 views
  • 0 likes
  • 3 in conversation