BookmarkSubscribeRSS Feed
Alkibiades
Obsidian | Level 7

First things first. The SAS version of our company: 9.04.01M3P062415

 

Whenever using non double variables in proc ds2 variables like integer or dates, i.e.:

 

proc ds2 scond = error;
	data test (overwrite=yes);
		declare integer a b d;

		method run();
                        a = 3;
                        b = 4;
			d = a + b;
			output;
		end;
	enddata;
run;
quit;

 

I get the following Note in my log:

 

NOTE: BASE driver, creation of a INTEGER column has been requested, but is not supported by the BASE driver. A DOUBLE PRECISION 
      column has been created instead.

 

When solely using  double variables the proc ds2 runs smoothly.

 

Is there anything I can do to prevent this note? Does it have and impact on the performance or should I just ignore it?

 

I'd be thankful for any hint.

 

1 REPLY 1
Kurt_Bremser
Super User

Base SAS only knows two data types, character and numeric. All numeric variables are always stored as 8-byte (or less, if you specify it with a LENGTH statement) real (mantissa and exponent) numbers. All SAS tables are stored with these limits.

 

So the note just informs you that your numbers will be stored that way; since there is no other option, there is also no performance penalty or other negative effect. Just keep in mind that you may run into precision problems a little earlier than the overflow error you'd expect with 8-byte integers.

To avoid the NOTE, just stay with double.

 

Then why is "integer" there at all? If you run PROC DS2 against a table that is not a native SAS table, but in a database, and the database engine supports integer, then it will have an effect.

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
  • 1 reply
  • 1800 views
  • 3 likes
  • 2 in conversation