retain

Accepted Solution Solved
Reply
Valued Guide
Posts: 858
Accepted Solution

retain

I am attaching some example code.  I want to find if there was an upsell or downsell over two time periods.  I tried to use a retain statement with by id plan, thinking that it wouldn't retain across id's, that is not the case.  Is retain the right solution for this problem and I have written incorrectly or am I going about this the wrong way.

Attachment

Accepted Solutions
Solution
‎07-11-2014 09:11 PM
PROC Star
Posts: 7,356

Re: retain

data together (drop=diff);

  set jun2014 jul2014;

  by id;

  diff=plan-lag(plan);

  if not first.id then do;

    if diff eq 0 then change = 'none';

    else if diff gt 0 then change = 'up';

    else change = 'down';

  end;

run;

View solution in original post


All Replies
Solution
‎07-11-2014 09:11 PM
PROC Star
Posts: 7,356

Re: retain

data together (drop=diff);

  set jun2014 jul2014;

  by id;

  diff=plan-lag(plan);

  if not first.id then do;

    if diff eq 0 then change = 'none';

    else if diff gt 0 then change = 'up';

    else change = 'down';

  end;

run;

Valued Guide
Posts: 858

Re: retain

Excellent, thank you.  I looked up a pdf showing retain vs lag but couldn't get what I wanted out of it

thanks,

Mark

☑ This topic is SOLVED.

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

Discussion stats
  • 2 replies
  • 239 views
  • 0 likes
  • 2 in conversation