How do i write out the same file to different locations?
Eg, i tried 2 file statements, but i realised the file in the first statement is empty.
FILENAME OUT 'C:\desktop\dataset1.dat'
FILENAME OUT1 'C:\desktop\data\dataset1.dat'
'
data out; Set dataset1; File out; File out1; put @1 variable1; run;
You can only write to one file at any given moment; that is why the first file is empty, as the second file statement takes precedence.
This is where a macro may be handy to avoid writing several data steps:
%macro write_file(outfilename);
data _null_;
set dataset1;
file "&outfilename";
put @1 variable1;
run;
%mend;
%write_file(C:\desktop\dataset\out);
%write_file(C:\desktop\out);
Hi,
You can do something like this:
data _null_;
set sashelp.class;
file 's:\temp\rob\test1.txt';
put _all_;
file 's:\temp\rob\test2.txt';
put _all_;
run;
You can put as many file and put statements as you like.
Why are you using .dat extension by the way? Use a descriptive file extension, so maybe .txt as it is textual file format, or .csv for comma separated.
If you can use OS comman , you can copy any number of file: x " copy c:\temp\rob\test1.txt c:\temp\rob\test2.txt ";
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.