BookmarkSubscribeRSS Feed
Meeru
Calcite | Level 5

Hi All! I have a CSV table and one of them contains 4 digit numbers. However, in that column, I just need the 3 last digits for analysis. How do I make SAS read-only the 3 last digits?

Thank you in advance for your answer

4 REPLIES 4
japelin
Rhodochrosite | Level 12

If it is sure of 4 digits, I think you can use the substr function to get the second and subsequent characters.

 

filename txt temp;
data _null_;
  file txt;
  put '1234';
  put '5678';
  put '9012';
run;

data want;
  infile txt dsd;
  length num 8 lastdgt $3;
  input num;
  lastdgt=substr(strip(put(num,best.)),2);
run;
Astounding
PROC Star
You can't. However you can read all 4 digits and then calculate the contents of the last 3. Assuming you are dealing with integers only, and assuming you read the value into a numeric variable, you could use

last3 = mod(var, 1000);

If those assumptions are wrong, the solution would change.
Meeru
Calcite | Level 5

Thank you everyone!

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
  • 4 replies
  • 1123 views
  • 5 likes
  • 4 in conversation