Hi all,
I need help with the following:
I have a 2 variables in a dataset
n= number
label = string e.g. X!3.479!3.49902!3.43968!3.49919!3.5432!3.69513!3.52109!3.53714!
What I need to do is - retrieve the 'n' th value (seperated by "!").
For example:
n= 2
value= 3.49902
Im guessing I need to use a scan?
Many thanks
jammy,
Yes, you'll need SCAN. However, SCAN alone will create VALUE as a character variable:
value = scan(string, n, '!');
If you want VALUE as a numeric variable, you'll have to apply the INPUT function to the result returned by the SCAN function:
value = input( scan(string, n, '!'), 8.);
It won't hurt to use a length of 8 in the INPUT function when the incoming string contains fewer than 8 characters. Good luck.
Yes
My bad..... I was trying to make it more complicated than it is!
Cheers
jammy,
Yes, you'll need SCAN. However, SCAN alone will create VALUE as a character variable:
value = scan(string, n, '!');
If you want VALUE as a numeric variable, you'll have to apply the INPUT function to the result returned by the SCAN function:
value = input( scan(string, n, '!'), 8.);
It won't hurt to use a length of 8 in the INPUT function when the incoming string contains fewer than 8 characters. Good luck.
Also if you want to know the different nth values, try the below code
data have;
string="X!3.479!3.49902!3.43968!3.49919!3.5432!3.69513!3.52109!3.53714!";
do i = 1 to 10;
new=scan(string,i,'!');
output;
end;
run;
Thanks,
Jag
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 save with the early bird rate—just $795!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.