Date: Mon, 19 Sep 2005 07:08:43 -0700
Reply-To: "Terjeson, Mark (IM&R)" <Mterjeson@RUSSELL.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: "Terjeson, Mark (IM&R)" <Mterjeson@RUSSELL.COM>
Subject: Solution: Re: Saturday night PROC FORMAT stumper
Content-Type: text/plain; charset="US-ASCII"
Hi All,
To load in a format from dataset
you've got the minimum variable
except for one, if you add:
type = 'C';
then it will work fine on V8.2
Hope this is helpful.
Mark Terjeson
Senior Programmer Analyst, IM&R
Russell Investment Group
Russell
Global Leaders in Multi-Manager Investing
-----Original Message-----
From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of
Michael L. Davis
Sent: Sunday, September 18, 2005 7:12 AM
To: SAS-L@LISTSERV.UGA.EDU
Subject: Re: Saturday night PROC FORMAT stumper
Hello Howard and other friends,
The mystery deepens...
I reran the code under Release 9.1.3 and it ran without problems. I
saved the submitted code, opened up SAS Release 8.2 and the reported
problem occurred again. So the problem is somehow release specific.
Since we use the SAS V8 engine under V9 by default at my site (at least
for the moment) and since no permanent catalogs are involved, running
under V9 is a viable alternative. I still would like to know why the
problem occurs.
If anyone wants to match my PDV for the cntlin data set, start is $11
and label is numeric 8.
Thanks to Howard and Suthakar Iyer(who replied privately) for weighing
in.
- Michael "Mad Doggy" Davis
At 08:20 AM 9/18/2005 -0400, Howard Schreier <hs AT dc-sug DOT org>
wrote:
>The following runs as expected on my system (V. 9.1.3, Win 2K):
>
> data cntlin;
> length start $12 type hlo $1 fmtname $7 label $9;
> input start type hlo fmtname label;
> cards;
> other I O $adroll 999999999
> 400352309OR I . $adroll 30482395
> 400759809NE I . $adroll 400759809
> 400759809NS I . $adroll 400759809
> 401327309OG I . $adroll 582291097
> ;
>
> proc format cntlin=cntlin fmtlib ; quit;
>
>On Sun, 18 Sep 2005 00:49:12 -0400, Michael L. Davis
><michael@BASSETTCONSULTING.COM> wrote:
>
> >Hello Friends,
> >
> >I have a Saturday night stumper (for me anyway).
> >
> >I feed in the following cntlin data set to PROC FORMAT:
> >
> >Obs start type hlo fmtname label
> > 1 other I O $adroll 999999999
> > 2 400352309OR I $adroll 30482395
> > 3 400759809NE I $adroll 400759809
> > 4 400759809NS I $adroll 400759809
> > 5 401327309OG I $adroll 582291097
> >
> >The SAS log reports:
> >
> >161 proc format cntlin=cntlin fmtlib ;
> >NOTE: Informat $ADROLL is already on the library.
> >NOTE: Informat $ADROLL has been output.
> >NOTE: Informat $ADROLL is already on the library.
> >NOTE: Informat $ADROLL has been output.
> >NOTE: Informat $ADROLL is already on the library.
> >NOTE: Informat $ADROLL has been output.
> >NOTE: Informat $ADROLL is already on the library.
> >NOTE: Informat $ADROLL has been output.
> >NOTE: Informat $ADROLL is already on the library.
> >NOTE: Informat $ADROLL has been output.
> >
> >When I check on the outputted informat via the fmtlib option, it
> >yields:
> >
> >---------------------------------------------------------------------
> >------
>-
> >| INFORMAT NAME: @$ADROLL LENGTH: 11 NUMBER OF VALUES: 1
>|
> >| MIN LENGTH: 1 MAX LENGTH: 40 DEFAULT LENGTH 11
FUZZ: 0
>|
> >|--------------------------------------------------------------------
> >|------
>|
> >|START |END |INVALUE(VER. 8.2
18SEP2005:00:23:22)
>|
> >|----------------+----------------+----------------------------------
> >|----------------+----------------+------
>|
> >|401327309OG |401327309OG |582291097
|
> >---------------------------------------------------------------------
> >------
>-
> >
> >So why is PROC FORMAT writing each observation as a new informat,
> >overlaying the previous informat ranges?
> >
> >Thanks in advance for any help or advice.
> >
> >- Michael "Mad Doggy" Davis
> >
> >
> >Michael L. Davis
> >Ambler PA
> >E-Mail: michael@bassettconsulting.com
Michael L. Davis
Ambler PA
E-Mail: michael@bassettconsulting.com