Hello
I want to create a new variable called X_new.
The value in X_new will be as following:
Need to find the location of last alphabetic in variable X and then substr from one position after until the end.
Resulted values will be:
300125565
300057503
300088437
3000999
What is the way to calculate the new variable x_new?
Data have;
input X $30.;
cards;
A22318PKRZD300125565
A21312QFYJR300057503
A22093FZCCP300088437
ABCDEFG3000999
;
Run;
Data have;
input X $30.;
cards;
A22318PKRZD300125565
A21312QFYJR300057503
A22093FZCCP300088437
ABCDEFG3000999
;
Run;
data want;
set have;
x_new = scan(x, -1, , 'a');
run;
Result:
X x_new A22318PKRZD300125565 300125565 A21312QFYJR300057503 300057503 A22093FZCCP300088437 300088437 ABCDEFG3000999 3000999
Data have;
input X $30.;
cards;
A22318PKRZD300125565
A21312QFYJR300057503
A22093FZCCP300088437
ABCDEFG3000999
;
Run;
data want;
set have;
x_new = scan(x, -1, , 'a');
run;
Result:
X x_new A22318PKRZD300125565 300125565 A21312QFYJR300057503 300057503 A22093FZCCP300088437 300088437 ABCDEFG3000999 3000999
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.