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 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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