Hello,
I have a delimited raw data file .
Now I want to create a SAS dataset using the raw data file using Do loop as there are variable number of records and variable length fileds.
How to increment it in Do loop.
Input :
A 1*2*3*4*5
B 5*6*7
C 1*45*78*54
Desired Output:
A 1
A 2
A 3
A 4
A 5
B 5
B 6
B 7
C 1
C 45
C 78
C 54
I am not getting how to increment the DO loop with delimiter value.....
Thanks....
data have; infile cards dlm=' *' truncover; input id $ v $ @; do until(missing(v)); output; input v $ @; end; cards; A 1*2*3*4*5 B 5*6*7 C 1*45*78*54 ; run;
Xia Keshan
Use scan(var,n,'*') together with a do until loop.
Can you please let me know how to write that if my delimiter is Hex Value ('41'x) instead of '*' ?
scan(var,n,'41'x)
data have; infile cards dlm=' *' truncover; input id $ v $ @; do until(missing(v)); output; input v $ @; end; cards; A 1*2*3*4*5 B 5*6*7 C 1*45*78*54 ; run;
Xia Keshan
Thank you all.... 🙂
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.