Help using Base SAS procedures

Need help in Do loop incremented by delimiter

Accepted Solution Solved
Reply
Contributor
Posts: 45
Accepted Solution

Need help in Do loop incremented by delimiter

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....


Accepted Solutions
Solution
‎10-14-2014 08:16 AM
Super User
Posts: 10,020

Re: Need help in Do loop incremented by delimiter

Posted in reply to RaviKommuri
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

View solution in original post


All Replies
Super User
Posts: 5,424

Re: Need help in Do loop incremented by delimiter

Posted in reply to RaviKommuri

Use scan(var,n,'*') together with a do until loop.

Data never sleeps
Contributor
Posts: 45

Re: Need help in Do loop incremented by delimiter

Can you please let me know how to write that if my delimiter is Hex Value ('41'x) instead of '*'        ?

SAS Employee
Posts: 340

Re: Need help in Do loop incremented by delimiter

Posted in reply to RaviKommuri

scan(var,n,'41'x)

Solution
‎10-14-2014 08:16 AM
Super User
Posts: 10,020

Re: Need help in Do loop incremented by delimiter

Posted in reply to RaviKommuri
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

Contributor
Posts: 45

Re: Need help in Do loop incremented by delimiter

Thank you all.... :-)

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 5 replies
  • 251 views
  • 0 likes
  • 4 in conversation