DATA Step, Macro, Functions and more

difference in one column within a group

Reply
Contributor
Posts: 67

difference in one column within a group

Hi,

I have a question about how to calculate day difference from the first date within a group (ID). Thanks much for your answer.

My data looks like as below. There are two columns (ID, date) and some other columns, which I did not show here but I need keep. I need create a new variable date_diff to show day difference from the first date within each ID. I showed a example of ID=1 as below for how I need calculate.

ID     date               date_diff

1     06JUL2006          0

1     23JUL2006     23JUL2006 - 06JUL2006

1     08AUG2007     08AUG2007 - 06JUL2006

2     03DEC2004

2     01JAN2005

Super User
Posts: 5,518

Re: difference in one column within a group

Posted in reply to michellel

Assuming your data are sorted properly, by ID DATE, here's an elegant way:

data want;

   set have;

   by id;

   date_diff + dif(date);

   if first.id then date_diff=0;

run;

(Of course, beauty is in the eye of the beholder.)  Good luck.

Contributor
Posts: 67

Re: difference in one column within a group

Posted in reply to Astounding

it works! Thanks Astounding!

Ask a Question
Discussion stats
  • 2 replies
  • 217 views
  • 2 likes
  • 2 in conversation