Date: Fri, 2 Jul 2010 21:47:53 -0500
Reply-To: Yu Zhang <zhangyu05@GMAIL.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Yu Zhang <zhangyu05@GMAIL.COM>
Subject: Re: Chance to Make SAS-L History: Did You Know That...
In-Reply-To: <AANLkTilahrA6lBWBCyvojcyMDDnAAsbHX2rTNgbgp5V6@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
it seems that some changes were made to the %sysfunc function in SAS9.2.
same code will work on sas9.1, but not on 9.2 phase2 windows XP.
261 /*SAS9.2*/
262 %put NOTE: HEX FFF=%SYSEVALF(FFFX);
ERROR: A character operand was found in the %EVAL function or %IF condition
where a numeric
operand is required. The condition was: FFFX
NOTE: HEX FFF=
263
264 %put NOTE: HEX FFF=%SYSEVALF(A000X);
ERROR: A character operand was found in the %EVAL function or %IF condition
where a numeric
operand is required. The condition was: A000X
NOTE: HEX FFF=
9 /*SAS9.1*/
10 %put NOTE: HEX FFF=%SYSEVALF(FFFX);
NOTE: HEX FFF=4095
11
12 %put NOTE: HEX FFF=%SYSEVALF(A000X);
NOTE: HEX FFF=40960
On Fri, Jul 2, 2010 at 9:19 PM, Data _null_; <iebupdte@gmail.com> wrote:
> I was able to set GUESSING ROWS to A000x. I am attaching the version
> of the program that I used.
>
> 1443 %GuessRows(set=a000x);
>
> NOTE: DATA STEP program loaded from file STORPGM.SETGUESSINGROWS.
> NOTE: Setting MicroSoft Jet Engine Guessing Rows=40960
>
>
> On 7/2/10, Dale McLerran <stringplayer_2@yahoo.com> wrote:
> > Which would explain why I cannot specify
> >
> > %GuessRows(A000x)
> >
> >
> > Dale
> >
> > ---------------------------------------
> > Dale McLerran
> > Fred Hutchinson Cancer Research Center
> > mailto: dmclerra@NO_SPAMfhcrc.org
> > Ph: (206) 667-2926
> > Fax: (206) 667-5977
> > ---------------------------------------
> >
> >
> > --- On Fri, 7/2/10, Data _null_; <iebupdte@GMAIL.COM> wrote:
> >
> > > From: Data _null_; <iebupdte@GMAIL.COM>
> > > Subject: Re: Chance to Make SAS-L History: Did You Know That...
> > > To: SAS-L@LISTSERV.UGA.EDU
> > > Date: Friday, July 2, 2010, 4:01 PM
> > > Yes the leading 0 is needed in SAS
> > > code to distinguish the value from
> > > a variable name.
> > >
> > > 345 data _null_;
> > > 1346 x = fffx;
> > > 1347 y = 0fffx;
> > > 1348 put (_all_)(=);
> > > 1349 run;
> > >
> > > NOTE: Variable fffx is uninitialized.
> > > x=. fffx=. y=4095
> > >
> > > The way it is used in my program with SYSEVALF the leading
> > > 0 is not needed.
> > >
> > > 1363 %put NOTE: HEX FFF=%SYSEVALF(FFFX);
> > > NOTE: HEX FFF=4095
> > >
> > >
> > >
> > >
> > > On 7/2/10, Jack Hamilton <jfh@alumni.stanford.org>
> > > wrote:
> > > > The doc says:
> > > >
> > > > A numeric constant that is expressed as a hexadecimal
> > > value starts with a numeric digit (usually 0), can be
> > > followed by more hexadecimal digits, and ends with the
> > > letter X. The constant can contain up to 16 valid
> > > hexadecimal digits (0 to 9, A to F).
> > > >
> > > >
> http://support.sas.com/onlinedoc/913/getDoc/en/lrcon.hlp/a000780334.htm
> > > >
> > > > So I think it would have to be 0fffx, not fffx.
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Jack Hamilton
> > > > jfh@alumni.stanford.org
> > > > Caelum non animum mutant qui trans mare currunt.
> > > >
> > > >
> > > >
> > > >
> > > > On Jul 2, 2010, at 15:17 , Data _null_; wrote:
> > > >
> > > > > On 7/2/10, Dale McLerran <stringplayer_2@yahoo.com>
> > > wrote:
> > > > >> I also tried
> > > > >> %GuessRows(set=fffx);
> > > > >> %GuessRows(set=ffff);
> > > > >> %GuessRows(set=FFF0);
> > > > >> %GuessRows(set=FFFF);
> > > > >> %GuessRows(set='FFF0');
> > > > >> %GuessRows(set='fff0');
> > > > >
> > > > > The first one should have worked as it includes
> > > the X suffix which
> > > > > makes it a proper hex constant. The others
> > > need the X, but the last
> > > > > two with quotes would be for character hex
> > > constants and would not
> > > > > work here.
> > > >
> > > >
> > >
> >
>
|