| Date: | Thu, 3 May 2001 12:16:56 -0400 |
| Reply-To: | "Diskin, Dennis" <Dennis.Diskin@PHARMA.COM> |
| Sender: | "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU> |
| From: | "Diskin, Dennis" <Dennis.Diskin@PHARMA.COM> |
| Subject: | Re: PROC COMPARE - Question |
|
| Content-Type: | text/plain |
|---|
Charles,
I haven't looked at this aspect of COMPARE but, it seems that it must be
inserting the special missing value .E into the numeric variable. You can
use the .E in a numeric compare for your WHEREstatement.
Dennis Diskin
> -----Original Message-----
> From: Charles Patridge [SMTP:Charles_S_Patridge@PRODIGY.NET]
> Sent: Thursday, May 03, 2001 11:40 AM
> To: SAS-L@listserv.uga.edu
> Subject: PROC COMPARE - Question
>
> Hi SAS-Lers,
>
> 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
> Technical Support.
>
> 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
> "E"?
>
> 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.
>
> Any suggestions?
>
> Thanks,
>
> Charles Patridge
> Email: Charles.Patridge@thehartford.com
>
> Here is the actual Proc Compare code I use:
>
> proc compare base=pardb compare=pardbchk criterion=2 method=absolute
> outnoequal noprint
> out=diff (drop=_type_ _obs_);
> by Summary ml yr item desc;
> run;
|