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.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.