BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.

We are converting from a 32 bit SAS 9.2 on windows server 2008 to 9.3 on 64 bit windows server 2008 R2

When I do a proc compare of the datasets on the older server and the datasets on the new server I get differences out to E-16 but I see no differences in the numbers.

This happens on percentages calculated in the code not in the source data pulled from a data warehouse.  When I examine the data I see no difference and even when I merge the two datasets and difference the values I get zero.

What is going on?

1 ACCEPTED SOLUTION

Accepted Solutions
wkossack_nspirehealth_com
Calcite | Level 5

I got the following from SAS

There are subtle differences that in numeric precision when it comes to 64 bit memory.  64 bit memory tends to be a bit more precise than 32 bit.  That being said, when it comes to numeric precision at the thirteenth, fourteenth, etc. digits, you cannot always be assured what value will be returned.  The inconsistency you are experiencing is simply the nature of numeric precision when dealing with numbers this large.

for now I'm running with a CRITERION=.00000000000001

View solution in original post

2 REPLIES 2
ballardw
Super User

Most likely your seeing the results precision in storage differences due to different operating systems and internal data storage.

Generally when running proc compare I use the option FUZZ= so that it only reports differences large enough to matter in the values, often something in the E-8 range but that would depend on your data.

wkossack_nspirehealth_com
Calcite | Level 5

I got the following from SAS

There are subtle differences that in numeric precision when it comes to 64 bit memory.  64 bit memory tends to be a bit more precise than 32 bit.  That being said, when it comes to numeric precision at the thirteenth, fourteenth, etc. digits, you cannot always be assured what value will be returned.  The inconsistency you are experiencing is simply the nature of numeric precision when dealing with numbers this large.

for now I'm running with a CRITERION=.00000000000001

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 741 views
  • 0 likes
  • 2 in conversation