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 ";
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.