🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Fluorite | Level 6

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

1 ACCEPTED SOLUTION

Accepted Solutions
Super User

## Re: Need help in Do loop incremented by delimiter

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

5 REPLIES 5
Tourmaline | Level 20

## Re: Need help in Do loop incremented by delimiter

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

Data never sleeps
Fluorite | Level 6

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

## Re: Need help in Do loop incremented by delimiter

scan(var,n,'41'x)

Super User

## Re: Need help in Do loop incremented by delimiter

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

Fluorite | Level 6

## Re: Need help in Do loop incremented by delimiter

Thank you all.... 🙂

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