Contributor
Posts: 45

# do loop intnck first row deleted

Hi,

I have a table A and I want to duplicate each row into a table B, N times.

In table A Ifor each row have:

a date d

In table B i would like:

the date d + 1 month for each new row

a number m, calculated according to new date

So I do something like

```data B;
set A;
do i=0 to N;
d = INTNX('month', d, +1, 'e');
m =...;output;end;run;```

But the issue with this, is that the original record from A is deleted and we have only date d+1 to d+n and no longer d.

I would like the programm to understand it need to keep the initial date too, and to calculate for this date the number m

Can you help me?

Thank you very much

Super User
Posts: 6,763

## Re: do loop intnck first row deleted

[ Edited ]

There should be a variety of ways to make this happen.  Here's one possibility:

data B;

set A;

do i=0 to N;

m=...;

output;

d=...;

end;

m=...;

output;

run;

***** EDITED to move the first OUTPUT statement.

This assumes that all else is working properly, except for getting that first calculation into the output.

Posts: 5,526

## Re: do loop intnck first row deleted

If you want both d and the new date in your output, you need two variables, right?

``````data B;
set A;
do i = 0 to N;
newD = INTNX('month', d, i, 'END');
m =...;
output;
end;
run;``````
PG
Discussion stats
• 2 replies
• 200 views
• 0 likes
• 3 in conversation