BookmarkSubscribeRSS Feed
Mike_Davis
Fluorite | Level 6

Hello everyone,

I have a excel file with one column,

I want to import it into SAS and get an character variable,I attached the excel file.

My problem is : if I opended the excel file then run the SAS code, the variable will be like 0.745 for the first obs ,but if I close the excel file then run the SAS code ,the value of the first obs will be changed to 74.5%.

Could anyone help me point out the reason of the problem?

Thanks!

Mike

PROC IMPORT

OUT= _test2

datafile="c:\temp\oops.xls"

DBMS=EXCEL REPLACE;

GETNAMES=YES;

MIXED=YES;

USEDATE=YES;

SCANTIME=YES;

RUN;

3 REPLIES 3
Doc_Duke
Rhodochrosite | Level 12

delete the first two blank rows so PROC IMPORT will work as intended.

The data in the spreadsheet are actually numeric with a format applied by Excel.

JRTait
Calcite | Level 5

Mike,

If you do want this variable to be a character variable you can use the following option within your PROC IMPORT:

DBDSOPTS= "DBSASTYPE=(%_of_value='Char(4)')";

When running this you may also want to change the MIXED option from YES to NO.

Ksharp
Super User

Interesting , If you use another engine XLS ,you will different result:

PROC IMPORT

OUT= _test2

datafile="c:\temp\oops.xls"

DBMS=xls REPLACE;

GETNAMES=YES;

MIXED=YES;

RUN;

Ksharp

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 3 replies
  • 1723 views
  • 3 likes
  • 4 in conversation