Help using Base SAS procedures

Trim function or something else

Reply
Frequent Contributor
Posts: 131

Trim function or something else

data mydata(keep=name address city state zip phone email);

set data1;

run;

I am using a proc export

proc export data=mydata;

set mydata1;

File "/servername/report..txt"

Linesize=8000 dsd dlm='|';

run;

In some cases there may be a blank in one or more fields

Osborne 1313 E Main St Washington DC myemail@me.com  (In this case we skipped the zip and phone number

In my proc export  I am getting double || and sometimes I get what appear to be small boxes.  The carraige returns are not working.  The display should begin a new line after email however in some cases a new record will begin on the same line

Osborne 1313 E Main St Washington DC myemail@me.com Bradeley 1312 E Main

Would a trim function fix this in some way?

Super User
Posts: 10,516

Re: Trim function or something else

Likely not. The small boxes are usually unprintable characters. Proc export allows almost no control over the resulting output. You mention "carriage returns are not working". Did you try to embed them into the strings?

You get || because your delimiter is | and there is no data in that field. CSV and other delimited formats do the same thing, no data means sequential delimiters to ensure the number of columns are the same in each record.

You may want to post a few lines of input data and what you expect it to look like. Include some of the examples with blanks or other odd data.

A data _null_ step with put statements may be a solution.

Super User
Super User
Posts: 6,502

Re: Trim function or something else

Ask a Question
Discussion stats
  • 2 replies
  • 222 views
  • 0 likes
  • 3 in conversation