BookmarkSubscribeRSS Feed
Roddy
Calcite | Level 5

I need to change the below code from comma separated to tab separated. I am writing this code to a specific location and the name of the file needs to remain dynamic.

 

 

PROC FORMAT;
PICTURE mmddyyyy other ='%0m%0d%Y' (DATATYPE = date);
RUN;

 

DATA _NULL_;
CALL SYMPUT("TODAY_MDY",LEFT(PUT(today(),mmddyyyy.)));
RUN;

 

DATA _NULL_;
SET FINAL;
FILE "//DropBox/Ad Hoc/Location/Policies_&TODAY_MDY..txt" DLM=',' TERMSTR=crlf;
IF _N_ = 1 THEN DO;
PUT 'Date'
',' 'Name'
',' 'Email'
',' 'Description'
',' 'ProductSearchCode'
',' 'Policy'
',' 'MerchantIdentifier'
',' 'FeedbackDate'
',' 'Tags';
END;
PUT Date Name Email Description ProductSearchCode Policy MerchantIdentifier FeedbackDate Tags;
RUN;

 

 

3 REPLIES 3
mohamed_zaki
Barite | Level 11

Define macro variable by the ASCII code

%LET TAB='09'X

Then use it in the put statment 

&TAB

 Or use it directly in the put statment 

Put ..... '09'X ..... ;

 

Reeza
Super User

Also change the DLM option in your file statement.

Ksharp
Super User

Why not use proc export. It is simple.

 

proc export data=sashelp.class outfile='/folders/myfolders/x.txt' dbms=tab replace;run;

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 1079 views
  • 1 like
  • 4 in conversation