DATA Step, Macro, Functions and more

do loop intnck first row deleted

Reply
Contributor
Posts: 41

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: 5,082

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.

Respected Advisor
Posts: 4,646

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
Ask a Question
Discussion stats
  • 2 replies
  • 180 views
  • 0 likes
  • 3 in conversation