Date: Thu, 3 May 2001 11:39:45 -0400
Reply-To: Charles Patridge <Charles_S_Patridge@PRODIGY.NET>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Charles Patridge <Charles_S_Patridge@PRODIGY.NET>
Subject: PROC COMPARE - Question
I recently had to do a Quality Assurance Project which takes a large file
from the bottom end of an output system and take all dollar figures within
this system and perform a number of calculations to ensure the numbers from
this output system balances within itself, including a number of summaries.
I had no problem using Proc Compare to compare my calculations with those of
this output system. It worked just fine.
However, I found an interesting result within the output from Proc Compare
that I was not able to get a satisfactory answer from SAS Institute
I output the differences between my calculations and those of the output
system. In this output file from Proc Compare, there is an "E" where the
differences are zero or considered as "EQUAL". Otherwise, the actual
difference (a number) between my calculation and the output system shows up.
Now, this difference file shows these SAS variables to be numeric and yet it
will display the letter "E" in these variables. I am assuming the code
behind the scenes of Proc Compare is somehow formatting these cells as
missing or using the letter "E" to equate to "0". And, yet I am unable to
do a WHERE selection on these numeric variables trying to find these "E"s.
If I do, I get incompatiable variable type - that is
Where jan1ma = 'E' and jan1ma is numeric - I get this message
ERROR: Where clause operator requires compatible variables.
and if I try
Where jan1ma = . or 0, I do not get any records.
Any ideas??? Without having to have PROC COMPARE output OUTCOMP and OUTDIF
Anyone have an idea as to how to select these numeric variables containing
I do not want to have Proc Compare output OUTCOMP and OUTDIF just so I can
find zero differences as this is what Proc Compare so wonderfully.
Here is the actual Proc Compare code I use:
proc compare base=pardb compare=pardbchk criterion=2 method=absolute
out=diff (drop=_type_ _obs_);
by Summary ml yr item desc;