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
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.