Date: Tue, 30 Apr 2002 11:40:05 -0400
Reply-To: "Dorfman, Paul" <Paul.Dorfman@BCBSFL.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: "Dorfman, Paul" <Paul.Dorfman@BCBSFL.COM>
Subject: Re: Interesting finding: point var is not kept?
Content-Type: text/plain; charset=iso-8859-1
> From: Ian Whitlock [mailto:WHITLOI1@WESTAT.COM]
> Peter,
>
> They are always retained, always dropped, and possibly reset
> by the system. At least I cannot find a counter example. Don't forget to
> include "last." and "first." variables, _IORC_, and other system created
variables.
>
> Note that _N_ also satisfies the above. You don't see the
> retained value because it is reset. I strongly doubt that it is set to
> missing and then reset.
Ian,
I fully concur that _N_ is most likely not reset to missing - it would make
no sense to do so before a fresh value is moved to _N_ from an internal
counter anyway. If we define 'retained' as 'not periodically reset to
missing' then yes, _N_ falls into the retained category.
However, I have a problem with such definition. From the programming
standpoint, what does it matter if the system forcefully resets a variable
to a missing value or something else? What matters is that such behaviour
cannot be controlled programmatically. No matter what I do to _N_, once
control ends up at the top of the implied loop, the system will assign it a
value having nothing to do with one in the previous iteration. Literally
speaking, it means that the value is not *retained*.
If a wider definition of a 'retained' variable were accepted, namely 'one
whose value can be changed only by the execution of an explicit SAS
instruction', then the automatic variables would fall into clearly distinct
groups. There is, for instance, a principal difference between a POINT=P
variable, which is fully controlled programmatically and 'genuinely'
retained, and _ERROR_, whose values can be programmatically controlled only
within the current iteration of the implied loop, the sole similarity
between them being both automatically dropped.
Kind regards,
====================
Paul M. Dorfman
Jacksonville, FL
====================
> -----Original Message-----
> From: Peter Crawford [mailto:peter.crawford@DB.COM]
> Sent: Tuesday, April 30, 2002 6:10 AM
> To: SAS-L@LISTSERV.UGA.EDU
> Subject: Re: Interesting finding: point var is not kept?
>
>
> I think the automatic drop applies to all data set options like
> : in= nobs= point=
> as well as all (in)file options like
> : filename= dlm= filevar= column=
>
> Sounds like a principle
> : variables set up as statement options will be drop-ed
> ( and possibly retain-ed ? )
Blue Cross Blue Shield of Florida, Inc., and its subsidiary and
affiliate companies are not responsible for errors or omissions in this e-mail message. Any personal comments made in this e-mail do not reflect the views of Blue Cross Blue Shield of Florida, Inc.
|