Hi,
How can the below excel function coded in SAS?
VAR01 | VAR02 |
| 1234567890123 | =RIGHT(A2,10) |
The result must be "4567890123".
Thanks,
Olp
No. if it is character. I would write this.
data test;
v1='1234567890123';
v2=substr(strip(v1),length(v1)-9);
put v1= v2= ;
run;
Xia Keshan
There is no straightforward equal name function. SAS(R) 9.4 Functions and CALL Routines: Reference, Third Edition substr can do the job when you give the position. (length - ... )
There are a lot of functions in SAS it could be your soltion is easier thinking in SAS than in Excel.
It was character type or numeric type ?
data _null_; v1=1234567890123; v2=mod(v1,10**10); put v1= best32. v2=; run;
Xia Keshan
Hi Xia,
It is character type.
I modified your code and it became this.
data test;
v1='1234567890123';
v2=put(mod(v1,10**10),10.);
run;
| v1 | v2 |
| 1234567890123 | 4567890123 |
Now, I've had what I need.
Thanks for your quick answer.
Olp
No. if it is character. I would write this.
data test;
v1='1234567890123';
v2=substr(strip(v1),length(v1)-9);
put v1= v2= ;
run;
Xia Keshan
Yep as character is better for substr, The precision better said limits to precision will cause nice effects expected above 12 digits, sure above 15 digits.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.
Ready to level-up your skills? Choose your own adventure.