LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (December 2002, week 3)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Tue, 17 Dec 2002 16:56:29 -0500
Reply-To:     Ian Whitlock <WHITLOI1@WESTAT.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Ian Whitlock <WHITLOI1@WESTAT.COM>
Subject:      Re: SAS name characteristics
Comments: To: "Delaney, Kevin P." <khd8@CDC.GOV>
Content-Type: text/plain; charset="iso-8859-1"

Kevin,

It is stored in the catalog, since you don't need to know about it, it isn't shown to you on need to know basis. SAS is a user friendly system so the convert the @ to an I so you won't be confused. Now you aren't confused, are you?

IanWhitlock@westat.com

-----Original Message----- From: Delaney, Kevin P. [mailto:khd8@CDC.GOV] Sent: Tuesday, December 17, 2002 3:32 PM To: SAS-L@LISTSERV.UGA.EDU Subject: FW: SAS name characteristics

Thought I would muddy the waters a little more here, in V9 of SAS, we have the dictionary table dictionary.formats (and SASHELP.VFORMAT):

For those of you with V9, try this...

***********v9*****************; proc format; value test 1="YES" 0="NO"; invalue test "YES"=1 "No"=0; value $test "Y"="Yes" "N"="No"; invalue $test "Yes"="Y" "No"="N"; run;

proc sql; *describe table dictionary.formats; select fmtname, fmttype, source from dictionary.formats where libname="WORK"; quit;

So, 1) where does SAS Store the '@' 2) I've looked (albeit quickly) through the V9 documentation, any idea what Source is? Valid values appear to be B, C, and U ???

Kevin Delaney KDelaney@cdc.gov

-----Original Message----- From: Ed Heaton [mailto:EdHeaton@WESTAT.COM] Sent: Tuesday, December 17, 2002 2:54 PM Subject: Re: SAS name characteristics

Ian,

Sorry for being unclear. From the SAS online docs...

When SAS prints messages referring to a user-written informat, the name is prefixed by an at sign (@). When the informat is stored, the at sign is prefixed to the name you specify for the informat, which is why you are limited to only seven characters in the name. You need to use the at sign only when you are using the name in an EXCLUDE or SELECT statement; do not prefix the name with an at sign when you are associating the informat with a variable.

Ed

Edward Heaton, Senior Systems Analyst, Westat (An Employee-Owned Research Corporation), 1600 Research Boulevard, Room RW-3541, Rockville, MD 20850-3195 Voice: (301) 610-4818 Fax: (301) 294-3992 mailto:EdHeaton@westat.com http://www.westat.com

-----Original Message----- From: Ian Whitlock Sent: Tuesday, December 17, 2002 2:50 PM To: Ed Heaton; SAS-L@LISTSERV.UGA.EDU Subject: RE: SAS name characteristics

Ed,

In what sense is that true?

454 data w ; NOTE: SCL source line. 455 input x @f3. ; --- 22 ERROR 22-322: Expecting a name.

456 put x= ; 457 cards ;

Or perhaps more entertaining.

489 proc format ; NOTE: SCL source line. 490 invalue @mynumtolong "1" = 100 ; - 22 ----------- 202 NOTE: The informat name '@MYNUMTOLONG' exceeds 8 characters. Only the first 8 characters will be used. ERROR 22-322: Syntax error, expecting one of the following: a name, $.

ERROR 202-322: The option or parameter is not recognized and will be ignored.

Reminds me of the time Marianne used a spelling checker and got the message "No alternative to your word (misspelled alternative)."

IanWhitlock@westat.com

-----Original Message----- From: Ed Heaton Sent: Tuesday, December 17, 2002 2:27 PM To: SAS-L@LISTSERV.UGA.EDU Subject: Re: SAS name characteristics

Jack,

Remember that informats all have a leading @, so your informat name is nine characters.

Ed

Edward Heaton, Senior Systems Analyst, Westat (An Employee-Owned Research Corporation), 1600 Research Boulevard, Room RW-3541, Rockville, MD 20850-3195 Voice: (301) 610-4818 Fax: (301) 294-3992 mailto:EdHeaton@westat.com http://www.westat.com

-----Original Message----- From: Jack Hamilton [mailto:JackHamilton@FIRSTHEALTH.COM] Sent: Friday, December 13, 2002 9:02 PM To: SAS-L@LISTSERV.UGA.EDU Subject: Re: SAS name characteristics

What SAS says about this does not appear to be completely true. Here's a job log from 8.2:

----- 22 proc format; 23 invalue longname NOTE: The informat name '@LONGNAME' exceeds 8 characters. Only the first 8 characters will be used. 24 'a' = 1 25 'b' = 2; NOTE: Informat LONGNAM has been output. 26 run;

NOTE: PROCEDURE FORMAT used: real time 0.01 seconds cpu time 0.00 seconds

27 28 data _null_; 29 test1 = input('a', longname.); 30 test2 = input('b', longnamx.); 31 put (_all_) (=); 32 run;

test1=1 test2=2 NOTE: DATA statement used: real time 0.03 seconds cpu time 0.03 seconds -----

So:

1) An 8 character name is allowed for an informat.

2) A misleading message is issued saying that only the first 8 characters will be used (misleading because it doesn't tell you that it inserted an @ at the beginning).

3) The first 7 characters of the name you entered are used when SAS searches for the informat name.

-- JackHamilton@FirstHealth.com Manager, Technical Development METRICS Department, First Health West Sacramento, California USA

>>> "Chakravarthy, Venky" <Venky.Chakravarthy@PFIZER.COM> 12/13/2002 4:54 AM >>> Jim,

First, note that user INFORMATS are still subject to the 7 character limitation because an @ sign is prefixed by SAS prior to storage.

As far as documentation goes, there is a section on names:

SAS OnlineDoc Base SAS Software SAS Language Reference: Dictionary Appendices Rules for Words and Names Names in the SAS Language

Kind Regards, __________________________ Venky Chakravarthy E-mail: swovcc@hotmail.com

-----Original Message----- From: Jim Groeneveld [mailto:J.Groeneveld@ITGROUPS.COM] Sent: Friday, December 13, 2002 5:57 AM To: SAS-L@LISTSERV.UGA.EDU Subject: SAS name characteristics

Hi friends,

I always thought in (from) version 8.x only variable names might be 32 characters long, other SAS names only 8. So I stuck to that, until I recently accidentally noticed valid dataset names with names longer than 8 characters. So, in order to debug my macro SAS_name I would like to know the maximum length of names in SAS 8.x+ for: * variables (32) * datasets (???) * libraries (8?) * formats (8) * variable labels (256) * ......... And where are these characteristics documented properly (in any case not in the online help of 8.2)?

Regards - Jim. -- Y. (Jim) Groeneveld, MSc IMRO TRAMARKO tel. +31 412 407 070 senior statist./data man. P.O. Box 1 fax. +31 412 407 080 J.Groeneveld@ITGroups.com 5350 AA BERGHEM, NL www.imrotramarko.com

I think I master my computer, sometimes I seem to be its slave.

Notice of confidentiality: this e-mail may contain confidential information intended for the addressed recipient only. If you have received this e-mail in error please delete this e-mail and please notify the sender so that proper delivery can be arranged.

LEGAL NOTICE Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this E-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents of this E-mail or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately.


Back to: Top of message | Previous page | Main SAS-L page