The SAS Output Delivery System and reporting techniques

Retain Statement

Reply
N/A
Posts: 0

Retain Statement

Hi gyes

I have a code:
data &_output (drop = var1 var2);
set &syslast;
retain var1 var2;
if var1 ^= a then do...
...
...
...
run;


My question is: what value will have var1 and var2 after retain statement?

Thanks.
N/A
Posts: 0

Re: Retain Statement

Posted in reply to deleted_user
As you haven't coded a literal after VAR1 / VAR2 in your RETAIN statement, they will be set to missing values. What happens next depends whether they appear in &SYSLAST. If they do, the effect of RETAIN is redundant and VAR1 / VAR2 will get refreshed with every observation read. If they don't appear in &SYSLAST then they will stay missing until referenced explicitly in the DATA step.

In your example, VAR1 / VAR2 could be missing for all time and VAR1 may never be equal to A - unless it appears in &SYSLAST.
Ask a Question
Discussion stats
  • 1 reply
  • 114 views
  • 0 likes
  • 1 in conversation