Date: Fri, 2 Dec 2005 16:50:55 +0000
Reply-To: iw1junk@COMCAST.NET
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Ian Whitlock <iw1junk@COMCAST.NET>
Subject: Re: length of id
Dirk,
First of all the message only says that *SOME* variable in one
of your 12 data sets is too wide for the assigned format. Without
any further evidence I would have no reason to believe that PID
is the problem.
The default for numeric variables is BEST12. so it is reasonable to
think the problem is no numeric variable with the default format.
The message is one of the nastiest to trace down, since there is no hint of
its origin. Since it only comes from the use of the format, I would start
there. What are you doing? What are the specific numeric variables used?
Do any of them have a non-default format? Knowing something about the
data should help you better than taking shots in the dark at a strategy.
The ability to name the offending variable should be high on anyone's list
of improvements to the SAS message system about possible problems.
In general I agree with Jim Groeneveld <jim1stat@YAHOO.CO.UK> advice to use
character data for keys, mainly because one should standardize and not be
doing arithmetic on keys, but I doubt if that advice is relevant to your
problem. (Although I often introduce a numeric sequence number when a data
set does not have an adequate set of keys, so I am not particularly
consistent in taking my advice.)
Finally I note that the message may not even be a problem. Consider
55 data _null_ ;
56 x = 1.9e8 ;
57 put x 6. + 1 x comma12. ;
58 run ;
1.9E8 190,000,000
NOTE: At least one W.D format was too small for the number to be
printed. The decimal may be shifted by the "BEST" format.
NOTE: DATA statement used (Total process time):
real time 0.02 seconds
cpu time 0.01 seconds
The format 6. is the problem, but one could find what SAS did perfectly
all right. On the other hand, I would not want such a message produced
in program that I wrote or used.
Ian Whitlock
================
Date: Fri, 2 Dec 2005 10:45:03 Z
Reply-To: Dirk Nachbar <Dirk.Nachbar@DWP.GSI.GOV.UK>
Sender: "SAS(r) Discussion"
From: Dirk Nachbar <Dirk.Nachbar@DWP.GSI.GOV.UK>
Subject: length of id
Content-Type: text/plain; charset="us-ascii"
Dear all
I am merging 12 tables by a PID. Now this variable can be as high as 1.9E8.
The
SAS log reports the following error.
At least one W.D format was too small for the number to be printed. The
decimal
may be
shifted by the "BEST" format.
I tried to define the length of PID in the merge-data-step, but SAS won't
have
it.. What should I do?
Dirk Nachbar
Assistant Economist
Pensim2
Department for Work and Pensions
Level 4, The Adelphi
1-11 John Adam St
WC2N 6HT London
020 796 28531
**********************************************************************
This document is strictly confidential and is intended only for use by the
addressee.
If you are not the intended recipient, any disclosure, copying,
distribution or other
action taken in reliance of the information contained in this e-mail is
strictly prohibited.
Any views expressed by the sender of this message are not necessarily those
of the Department
for Work and Pensions.
If you have received this transmission in error, please use the reply
function to tell us
and then permanently delete what you have received.
Please note: Incoming and outgoing e-mail messages are routinely monitored
for compliance
with our policy on the use of electronic communications.
**********************************************************************