DATA Step, Macro, Functions and more

dsd option

Reply
Frequent Contributor
Posts: 87

dsd option

 

 

Here is the sample code for file creation. When I use DSD option in the file statement, it is putting double quotes around field A in the output file whereas without DSD option it gives an extra space for missing fields. Any one has a solution?

 

fieldval|newfield|new| |1

 

"fieldval|newfield"|new||1

 

 Its putting double quotes because your delimiter is a pipe and your Field A also has a pipe.  


options missing='';
data one;
a='fieldval|newfield';
b='new';
c='';
d='1';
run;

filename outfile "/uhome/snoone/test.txt" ;

data _null_;
set one;

file outfile DELIMITER='|' dropover dsd lrecl=1000;
put a
b
c
d;
run;

 

Super User
Super User
Posts: 7,988

Re: dsd option

[ Edited ]

Sorry, what is the question here, you seem to have your answer?

" Its putting double quotes because your delimiter is a pipe and your Field A also has a pipe.  "

If your data contains the delimiter, then it has to quote the string otherwise delimeters will get messed up.  Sort your input dataset out:

data one;
  a1='fieldval';

  a2='newfield';
  b='new';
  c='';
  d='1';
run;

 

And the problem will go away.

 

Edit: Alternatively change your delimiter.  The point about delimited files is that the delimiter only appears between data items.

Ask a Question
Discussion stats
  • 1 reply
  • 277 views
  • 0 likes
  • 2 in conversation