BookmarkSubscribeRSS Feed
ssavor
Calcite | Level 5

I'm reading in an MS Access file: 

 

libname enrsum access path='\\warehouse\freezes_official_2010.accdb'; 

 

Doing some processing on other fields, then writing the data to a file:

 

ods listing close;
ods csv file="t:\201910Tday15.csv" style=minimal;

 

Using a proc print statement: 

 

proc print data=work.RECODE;
var PERSON_UID
    ACADEMIC_PERIOD

    FREEZE_EVENT;

run;

 

The format of the freeze_event from the Access file is 201910TDAY15.  When the proc print puts it in a file, it adds question marks and looks like 201910?T?DAY15. 

 

Why is it doing this and how do I fix it?

 

Thanks.

4 REPLIES 4
ballardw
Super User

Is that variable in the ACCESS database a character variable or a date variable?

The symptom you describe sometimes indicates that a character variable contains characters that either the font you are using for the output (controlled by you active style) does not recognize the value or that there may be an encoding difference between the data base and your SAS session.

Does this have the same appearance if you use an ODS RTF destination instead? CSV files do not contain any font information. So depending on the font your application for viewing the CSV file with may not have definitions for certain characters.

 

Options could include creating a SAS data set and instead of sending results directly from the data base to csv (Access should do that directly) and 1) editing a character field 2) creating a SAS date value and using a SAS date format to display the value 3) changing font in the program viewing the csv 4) changing encoding of the dataset.

You might also change to using PROC Export to CSV instead ODS CSV by selecting the variables in a dataset option.

ssavor
Calcite | Level 5

Thank you.  I will try PROC EXPORT.  It turns out that the field inadvertently had special characters in it and that was causing the problem.

ssavor
Calcite | Level 5

Thank you.  I will try EXPORT.  It turns out that the field inadvertently had special characters in it and that was causing the problem.

andreas_lds
Jade | Level 19

Have you tried using proc export instead of proc print?

sas-innovate-2024.png

📢

ANNOUNCEMENT

The early bird rate has been extended! Register by March 18 for just $695 - $100 off the standard rate.

 

Check out the agenda and get ready for a jam-packed event featuring workshops, super demos, breakout sessions, roundtables, inspiring keynotes and incredible networking events. 

 

Register now!

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.

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