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.... 🙂
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.