I need to amend this data step so that the column names are written to output file in row 1.
filename csv "G:\Departments\Research\MAP\&yr1&yr2.\Fall &yr.\clean_for_enrich.csv";
data _null_;
set join1b ;
file csv dlm=',';
put ( _all_ ) (+0);
run;
Easiest may be
Proc export data=join1b outfile=csv dbms=csv;
run;
Agreed. I was making it too complicated.
If you need to provide a specific order, such for a file that may be read by another program that requires a fixed order then the PUT statement would be appropriate but since you didn't show that then I though export would work.
The easy semi-kludge for the header row is to include something like this BEFORE the Put statement in the order to match the variables on the put statement:
If _n_ = 1 then put '"column 1 text","column 2 text", ...,"column n text"';
note that is ' " and " ' at the start and end. If there are no spaces or commas desired in the Column x text then the " could be omitted.
The line basically says: If this is the first line of the file then put the header row.
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.