I have this simple data set that I want to create a pipe delimited .txt file but I'm getting 2 added end-of-record/carriage returns in the file. I'll try to supply all the necessary data/code so any help would be appreciated. I'm still fairly new to SAS.
Simple Data Set (no imbedded CR or LF that I can see) output is called CSMOUT1_SUM
CNTR TOT_CHARGE TOT_PAID
150425 53,574,833.43 21,162,557.11
Code to create simple .txt file
DATA CSMOUT1_SUM2 (KEEP=CNTR TOTCHARGES TOTPAID);
SET CSMOUT1_SUM;
TOTCHARGES=PUT(TOT_CHARGE, COMMA13.2);
TOTPAID=PUT(TOT_PAID, COMMA13.2);
RUN;
/* */
ODS LISTING CLOSE;
ODS CSV FILE='TESTOUT.TXT' OPTIONS(DELIMITER='|');
PROC REPORT DATA=CSMOUT1_SUB2 NOHEADER;
RUN;
ODS CSV CLOSE;
The output I get looks like the following when I look at the file in wordpad: (The CRLF are the added carriage returns that I'm getting)
150425|53574833.43|21162557.11 CRLF
CRLF
CRLF
proc export data=CSMOUT1_SUM2 outfile='TESTOUT.TXT' DBMS=DLM delimiter='|' replace;run;
Did you try PROC PRINT instead of PROC REPORT. Doesn' t look like you are doing anything that needs PROC REPORT functionality.
I tried PROC PRINT as well. I dont want the headers and I was aware of the option in PROC REPORT so thats what I used. Anyway, PROC PRINT produces extra carriage returns as well. Could it be a global setting in Options or somthing?
proc export data=CSMOUT1_SUM2 outfile='TESTOUT.TXT' DBMS=DLM delimiter='|' replace;run;
Thanks ballardw!,
That is closer....now I only have 1 extra carriage return at the end instead of 2 so it looks like the following.
150425|53574833.43|21162557.11 CRLF
CRLF
There must be a way to not have the headers either I'm sure using PROC EXPORT....I can figure that part out.
Update
I got the headers out via "putnames=no"
I believe this is how the .txt file is to look - Thanks to all for the help
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.